Skip to content

Latest commit

 

History

History
103 lines (86 loc) · 2.09 KB

_2665. Counter II.md

File metadata and controls

103 lines (86 loc) · 2.09 KB

All prompts are owned by LeetCode. To view the prompt, click the title link above.

Back to top


First completed : July 09, 2024

Last updated : July 09, 2024


Related Topics : N/A

Acceptance Rate : 80.87 %


Solutions

JavaScript

/**
 * @param {integer} init
 * @return { increment: Function, decrement: Function, reset: Function }
 */
var createCounter = function(init) {
    var origInit = init;
    obj = {
        increment: function() {
            return ++init;
        },

        decrement: () => --init,
        
        reset: function() {
            init = origInit;
            return init;
        }
    }
    return obj;
};

/**
 * const counter = createCounter(5)
 * counter.increment(); // 6
 * counter.reset(); // 5
 * counter.decrement(); // 4
 */
/**
 * @param {integer} init
 * @return { increment: Function, decrement: Function, reset: Function }
 */
var createCounter = function(init) {
    var origInit = init;
    return {
        increment() { return ++init },
        decrement() { return --init },
        reset() { return init = origInit }
    }
};

/**
 * const counter = createCounter(5)
 * counter.increment(); // 6
 * counter.reset(); // 5
 * counter.decrement(); // 4
 */
/**
 * @param {integer} init
 * @return { increment: Function, decrement: Function, reset: Function }
 */
var createCounter = function(init) {
    var origInit = init;
    return {
        increment: () => ++init,
        decrement: () => --init,
        reset: () => init = origInit
    }
};

/**
 * const counter = createCounter(5)
 * counter.increment(); // 6
 * counter.reset(); // 5
 * counter.decrement(); // 4
 */