0
点赞
收藏
分享

微信扫一扫

338. Counting Bits

老北京的热干面 2022-12-01 阅读 147


num. For every numbers i in the range 0 ≤ i ≤ num

Example:

For ​​num = 5​​ you should return ​​[0,1,1,2,1,2]​​.

由以前求i的二进制中1的个数方法得知,i的二进制比i&(i-1)多一个

class Solution {
public:
vector<int> countBits(int num) {
vector<int> res(num + 1);
res[0] = 0;
for (int i = 1; i <= num; i++){
res[i] = res[i&(i - 1)] + 1;
}
return res;
}
};



举报

相关推荐

0 条评论