338. Counting Bits (Binary)

Posted gopanama

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了338. Counting Bits (Binary)相关的知识,希望对你有一定的参考价值。

这个规律找的更好,规律是,从1开始,遇到偶数时,其1的个数和该偶数除以2得到的数字的1的个数相同,遇到奇数时,其1的个数等于该奇数除以2得到的数字的1的个数再加1

 

 

 1 class Solution {
 2     public int[] countBits(int num) {
 3         int[] res = new int[num + 1];
 4         res[0] = 0;
 5         for(int i = 1; i <= num; i++) {  //注意是 <=
 6             if(i % 2 == 0 ) {
 7                 res[i] = res[i / 2];
 8             }else {
 9                 res[i] = res[i / 2] + 1;
10             }
11         }
12        return res; 
13     }
14 }

 

以上是关于338. Counting Bits (Binary)的主要内容,如果未能解决你的问题,请参考以下文章

338. Counting Bits

[leetcode-338-Counting Bits]

338. Counting Bits

leetcode [338]Counting Bits

LeetCode 338. Counting Bits

LeetCode 338. Counting Bits