leetcode_Counting Bits_dp

给定num,用O(num)的时间复杂度计算0--num中所有数的二进制表示中1的个数。

vector<int> countBits(int num) {
        vector<int> dp(num+1,0);
        for(int i=1;i<=num;i++)
            dp[i]=dp[i&(i-1)]+1;
        return dp;
    }

i&(i-1)<=i-1

原文地址:https://www.cnblogs.com/jasonlixuetao/p/9918347.html