338. 比特位计数
class Solution { public int[] countBits(int num) { int []dp = new int[num+1]; dp[0] = 0; //dp[i/2]:判断i右移一位之后有几个1; i%2:判断i的最后一位是否是1 for(int i = 0;i<=num;i++){ dp[i] = dp[i/2] + i%2; } return dp; } }
class Solution { public int[] countBits(int num) { int []dp = new int[num+1]; dp[0] = 0; //dp[i/2]:判断i右移一位之后有几个1; i%2:判断i的最后一位是否是1 for(int i = 0;i<=num;i++){ dp[i] = dp[i/2] + i%2; } return dp; } }