Leetcode338——比特位计数

对于二进制数x,2x相当右移补0,2x相当于右移补1

class Solution {
public:
    vector countBits(int num) {
        vector  vec(num+1);     //创建vector数组时,初始值默认=0
        int i;
        for(int i=0;i<=num/2;i++)
        {
            vec[i*2]=vec[i];
            if(i*2+1<=num) vec[2*i+1]=vec[i]+1;
        }
        return vec;
    }
};

你可能感兴趣的:(算法练习,C++学习)