比特位计数 - 题目描述
给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回。
比特位计数 - 代码实现
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| class Solution { public:
vector<int> countBits(int num) { vector<int> dp(num + 1); for (int i = 1; i <= num; ++i) { dp[i] = dp[i & i - 1] + 1; }
return dp; } };
|