100天代码挑战

100天代码挑战:DAY7

2018-09-11  本文已影响0人  共醉明月Nessa

LeetCode 338. 比特位计数

给定一个非负整数 num。 对于范围 0 ≤ i ≤ num 中的每个数字 i ,计算其二进制数中的1的数目并将它们作为数组返回。

示例:
比如给定 num = 5 ,应该返回 [0,1,1,2,1,2].

进阶:

我的答案:

class Solution {
public:
    vector<int> countBits(int num) {
        vector<int> ans;
        ans.push_back(0);
        for(int i=1; i<=num; i++){
            ans.push_back(ans[i/2] + i%2);
        }
        return ans;
    }
};

解题用时:23'

上一篇 下一篇

猜你喜欢

热点阅读