var countBits = function(n) {
var dp =[];
if(n==0)return [0];
dp[0]=0;
dp[1] =1;
//dp[2]= 1;
for(let i=2;i<=n;i++)
{
dp[i] =dp[Math.floor(i/2)]+(i%2);
}
return dp;
};
- 注意事项:
- js和C++ i/2不一样,js得到的是浮点数

var countBits = function(n) {
var dp =[];
if(n==0)return [0];
dp[0]=0;
dp[1] =1;
//dp[2]= 1;
for(let i=2;i<=n;i++)
{
dp[i] =dp[Math.floor(i/2)]+(i%2);
}
return dp;
};