您的位置:首页 > 其它

338. Counting Bits

2016-04-30 18:40 344 查看
//140ms
class Solution {
public:
vector<int> countBits(int num) {
vector<int> v(1,0);
int r=1;
while(num!=0)
{
for(int i=0;i<r;i++)
{
v.push_back(v[i]+1);
if(--num==0) return v;
}
r*=2;
}
return v;
}
};


测试数据才14组

//164ms
class Solution {
public:
vector<int> countBits(int num) {
static vector<int> v;
if(v.size()>=num+1) return vector<int>(v.begin(),v.begin()+num+1);
if(v.empty()) v.push_back(0);
while(v.size()<num+1)
{
int len=v.size();
for(int i=0;i<len;i++)
{
v.push_back(v[i]+1);
}
}
return vector<int>(v.begin(),v.begin()+num+1);
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: