leetcode338. 比特位计数

 

 


算法导论提到过,虽然这里面有个循环,但是把循环次数平分一下好像就很小。

class Solution {
public:
    vector<int> countBits(int num) {
        vector<int> res;
        int n=0,t;
        int s=0;
        int a[10000];
        memset(a,0,sizeof(a));
        while(n<=num){
            res.push_back(s);
            t=0;
            while(a[t]==1){
                a[t]=0;
                s--;
                t++;
            }
            a[t]=1;
            s++;
            
            n++;
        }
        return res;
    }
};

  

 

 

posted @ 2021-04-06 14:15  vdk  阅读(43)  评论(0)    收藏  举报