Counting Bits
Easy
Dynamic Programming
Bit Manipulation
Given an integer `n`, return *an array* `ans` *of length* `n + 1` *such that for each* `i` *(*`0 <= i <= n`*),* `ans[i]` *is the **number of*** `1`*'s in the binary representation of* `i`.
Example 1
Input: n = 2
Output: [0,1,1]
Explanation: 0 --> 0, 1 --> 1, 2 --> 10
Example 2
Input: n = 5
Output: [0,1,1,2,1,2]
Explanation: 0,1,2,3,4,5 in binary are 0,1,10,11,100,101

Constraints

  • 0 <= n <= 10⁵
Time Complexity
O(n)
Space Complexity
O(n)
14
Case 1
Input: 2
Expected: [0,1,1]
Case 2
Input: 5
Expected: [0,1,1,2,1,2]
Case 3
Input: 0
Expected: [0]