力扣(338. 比特位计数)

338. 比特位计数 - 力扣(LeetCode)

这道题目就相当于每次i的值等于边界k的时候,就将k*=2,然后下一轮的数值就从0开始新的累加直到i为k的时候结束当前的循环,且ans[i-k/2]因为是从头开始循环,其值均已经存储在了数组之中,可直接取。

class Solution {
public:
    vector countBits(int n) {
        //这道题目就相当于每次i的值等于边界k的时候,就将k*=2,然后下一轮的数值就从0开始新的累加
        //直到i为k的时候结束当前的循环,且ans[i-k/2]因为是从头开始循环,其值均已经存储在了数组之中,可直接取。
        vector ans(n+1,0);
        int i=0,k=1;
        while(i

力扣(338. 比特位计数)_第1张图片

 

你可能感兴趣的:(力扣刷题,leetcode,散列表,算法)