比特位计数

给一个整数 n ,对于 0 <= i <= n 中的每个 i ,计算其二进制表示中 1 的个数 ,返回一个长度为 n + 1 的数组 ans 作为答案。

  • 输入:n = 2

  • 输出:[0,1,1]

  • 解释:
    0 –> 0
    1 –> 1
    2 –> 10

  • 输入:n = 5

  • 输出:[0,1,1,2,1,2]

  • 解释:
    0 –> 0
    1 –> 1
    2 –> 10
    3 –> 11
    4 –> 100
    5 –> 101

1
2
3
4
5
6
7
8
9
10
11
12
var countBits = function(n) {
let dp = [];
dp[0] = 0;
for(let i = 1; i<=num; i++){
if(i % 2 == 1){
dp[i] = dp[i-1] + 1;
}else{
dp[i] = dp[i/2];
}
}
return dp;
};