要求:算1到n比特位1的和,且时间O(n)
 思路:明显去掉低位1少一个1
class Solution {
public:
    vector<int> countBits(int n) {
        vector<int> dp(n+1);
        for(int i=1;i<=n;++i){
            dp[i]=dp[i&(i-1)]+1;
        }
        return dp;
    }
};
338. 比特位计数
阅读 88
2022-01-23
要求:算1到n比特位1的和,且时间O(n)
 思路:明显去掉低位1少一个1
class Solution {
public:
    vector<int> countBits(int n) {
        vector<int> dp(n+1);
        for(int i=1;i<=n;++i){
            dp[i]=dp[i&(i-1)]+1;
        }
        return dp;
    }
};
相关推荐
精彩评论(0)