338 Counting Bits
338. Counting Bits
1. Question
Given a non negative integer numbernum. For every numbersiin the range0 ≤ i ≤ numcalculate the number of 1's in their binary representation and return them as an array.
Example 1:
Example 2:
Follow up:
It is very easy to come up with a solution with run time O(n*sizeof(integer)). But can you do it in linear time
O(n) /possibly in a single pass?
Space complexity should be O(n).
Can you do it like a boss? Do it without using any builtin function like __builtin_popcount in c++ or in any other language.
2. Implementation
(1) DP
思路: 通过观察,每个数的1bit个数等于这个数除以2的数的1bit个数,如果这个数是奇数的话,再这基础上再加上1
3. Time & Space Complexity
DP:时间复杂度O(n), 空间复杂度O(n)
Last updated
Was this helpful?