338. 比特位计数
解法一:dp
二进制 1个数
0 --> 0
1 --> 1
10 --> 1
11 --> 2
100 --> 1
101 --> 2class Solution:
def countBits(self, num: int) -> List[int]:
dp = [0] * (num+1)
if num == 0: #边界
return dp
#初始化
dp[0], dp[1] = 0, 1
for i in range(2, num+1):
dp[i] = dp[i//2] + i%2
return dp最后更新于