Java解决比特位计数
01 题目
-  给定一个非负整数 n,请计算0到n之间的每个数字的二进制表示中 1 的个数,并输出一个数组。示例 1: 输入: n = 2 输出: [0,1,1] 解释: 0 --> 0 1 --> 1 2 --> 10示例 2: 输入: n = 5 输出: [0,1,1,2,1,2] 解释: 0 --> 0 1 --> 1 2 --> 10 3 --> 11 4 --> 100 5 --> 101
02 知识点
- 动态规划
- 二进制函数
03 我的题解思路
public class countBits {public static void main(String[] args) {
//		测试数据int[] rs=countBits(5);for (int i = 0; i < rs.length; i++) {System.out.print(rs[i]+" ");}}public static int[] countBits(int n) {//计算从0到n,所以数组大小要加一int[] rs=new int[n+1];for (int i = 0; i < n+1; i++) {
//			integer有内置的函数计算二进制rs[i]=Integer.bitCount(i);}return rs;}
}