Welcome to Subscribe On Youtube
2620. Counter
Description
Given an integer n
, return a counter
function. This counter
function initially returns n
and then returns 1 more than the previous value every subsequent time it is called (n
, n + 1
, n + 2
, etc).
Example 1:
Input: n = 10 ["call","call","call"] Output: [10,11,12] Explanation: counter() = 10 // The first time counter() is called, it returns n. counter() = 11 // Returns 1 more than the previous time. counter() = 12 // Returns 1 more than the previous time.
Example 2:
Input: n = -2 ["call","call","call","call","call"] Output: [-2,-1,0,1,2] Explanation: counter() initially returns -2. Then increases after each sebsequent call.
Constraints:
-1000 <= n <= 1000
At most 1000 calls to counter() will be made
Solutions
-
function createCounter(n: number): () => number { let i = n; return function () { return i++; }; } /** * const counter = createCounter(10) * counter() // 10 * counter() // 11 * counter() // 12 */