解题思路
使用了BigInteger转化了二进制 不算完美
思路也是最简单的 遍历再调用函数,有待改进,加油
代码
import java.math.BigInteger;
class Solution {
public int count(int num){
int tem = 0;
String ans;
BigInteger n = new BigInteger(String.valueOf(num));
ans= n.toString(2);
char[] chars = ans.toCharArray();
for (int i = 0;i<chars.length;i++){
if (chars[i]=='1'){
tem++;
}
}
return tem;
}
public int[] countBits(int num) {
int[] ans = new int[num+1];
for (int i=0;i<=num;i++){
ans[i]=count(i);
}
return ans;
}
}