x 338. Counting Bits

2nd try - optimized

/**
 * @param {number} n
 * @return {number[]}
 */
var countBits = function(n) {
    const ans = new Array(n + 1);
    ans[0] = 0;
    for (let i = 1; i <= n; i++) {
        ans[i] = ans[i >> 1] + (i & 1);
    }

    return ans;
};

1st try

time: O(N)

space: O(N)

Last updated