题目的链接在这里:https://leetcode-cn.com/problems/counting-bits/
//这个方法就是解决的 输入的是i 输出的是i的二进制里1的数目 //其实是可以通过暴力计算的
代码如下:
class Solution { public int[] countBits(int n) { //2的话就是 0 1 2 所以是 长度是n+1 int result[]=new int[n+1];//从0 到n //然后核心是计算二进制中1的数目 比较暴力的方法 就是对每一个都进行二进制转换 然后再进行一个个的判断 //但既然是和按位运算来的 那肯定是不太一样的 for(int i=0;i<=n;i++){ //差不多就是这样 result[i]=getResult(i); } return result; } private int getResult(int i) { //这个方法就是解决的 输入的是i 输出的是i的二进制里1的数目 //其实是可以通过暴力计算的 int count=0; while (i>0){ int temp=i%2; if(temp==1){ count++; } //然后再把i除去2 i/=2; } return count; } }