338. 比特位计数
https://leetcode-cn.com/problems/counting-bits/
解法一:dp
当num=5时
发现规律,后面的数可以利用前面的结果(动态规划,或者叫备忘录).例如数字5,二进制为101,可以将其分为两部分:
(1)最后一位,为1,可以用5%2获得
(2)剩余的数,为10(二进制),可以用5/2=2获得(即右移一位) 则5的bits等于2的bits加上1,即1+1=2.
推广可知,记i的Counting Bits为res[i],则 res[i] = res[i/2] + i%2
最后更新于