leetcode 338. 比特位计数

文章目录

338. 比特位计数

链接

暴力算法

java 复制代码
class Solution {

    private int count(int n) {
        int res = 0;
        if (n == 0) {
            return 0;
        }
        for (int i = 0; i < 32; i++) {
            res += ((n >> i) & 1);
        }
        return res;
    }

    public int[] countBits(int n) {
        int[] ans = new int[n+1];
        for (int i = 0; i <= n; i++) {
            ans[i] = count(i);
        }
        return ans;
    }
}

存储已经计算的值

java 复制代码
class Solution {

    
    public int[] countBits(int n) {
        int[] ans = new int[n+1];
        for (int i = 0; i <= n; i++) {
            ans[i] = ans[i >> 1] + (i & 1);
        }
        return ans;
    }
}
相关推荐
XianxinMao6 小时前
RLHF技术应用探析:从安全任务到高阶能力提升
人工智能·python·算法
hefaxiang6 小时前
【C++】函数重载
开发语言·c++·算法
exp_add36 小时前
Codeforces Round 1000 (Div. 2) A-C
c++·算法
查理零世7 小时前
【算法】经典博弈论问题——巴什博弈 python
开发语言·python·算法
神探阿航7 小时前
第十五届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组
java·算法·蓝桥杯
皮肤科大白7 小时前
如何在data.table中处理缺失值
学习·算法·机器学习
不能只会打代码9 小时前
蓝桥杯例题一
算法·蓝桥杯
OKkankan9 小时前
实现二叉树_堆
c语言·数据结构·c++·算法
ExRoc11 小时前
蓝桥杯真题 - 填充 - 题解
c++·算法·蓝桥杯
利刃大大11 小时前
【二叉树的深搜】二叉树剪枝
c++·算法·dfs·剪枝