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;
}
};


浙公网安备 33010602011771号