题目描述

题解
动态规划
通过二进制数的规律可知, 如果当前数字为奇数, 那么它包含1的数量一定为它前一个数的+1, 如果当前数字为偶数, 那么它包含1的数量一定与其一半数值的数相等, 例如4中1的数量与2中1的数量是相同的, 因为二倍关系只是左移或者右移的结果, 1的数量没有改变
1  | public int[] countBits(int num) {  | 

通过二进制数的规律可知, 如果当前数字为奇数, 那么它包含1的数量一定为它前一个数的+1, 如果当前数字为偶数, 那么它包含1的数量一定与其一半数值的数相等, 例如4中1的数量与2中1的数量是相同的, 因为二倍关系只是左移或者右移的结果, 1的数量没有改变
1  | public int[] countBits(int num) {  | 
        微信支付
        支付宝