给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回。
https://leetcode-cn.com/problems/counting-bits/
class Solution {
public int[] countBits(int n) {
int[] bits = new int[n + 1];
bits[0] = 0;
for (int i = 1; i <= n; i++) {
if ((i & 1) == 0) {
// 偶数
bits[i] = bits[i >> 1];
} else {
// 奇数
bits[i] = bits[i - 1] + 1;
}
}
return bits;
}
}