比特位计数

题目:给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回

思路:

代码:

 1 /**
 2  * @param {number} n
 3  * @return {number[]}
 4  */
 5 var countBits = function(n) {
 6  const bits = new Array(n+1).fill(0);
 7  for(let i = 1; i<=n; i++){
 8      bits[i] = bits[i >> 1] + (i & 1); 
 9  }
10  return bits;
11 };

 

posted @ 2021-05-25 14:02  icyyyy  阅读(78)  评论(0)    收藏  举报