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;
    }
}
相关推荐
J***793922 分钟前
后端在分布式系统中的数据分片
算法·哈希算法
Dream it possible!1 小时前
LeetCode 面试经典 150_二叉搜索树_二叉搜索树中第 K 小的元素(86_230_C++_中等)
c++·leetcode·面试
sin_hielo2 小时前
leetcode 2872
数据结构·算法·leetcode
dragoooon342 小时前
[优选算法专题八.分治-归并 ——NO.49 翻转对]
算法
AI科技星2 小时前
为什么宇宙无限大?
开发语言·数据结构·经验分享·线性代数·算法
Zero-Talent3 小时前
位运算算法
算法
不穿格子的程序员3 小时前
从零开始刷算法——双指针-三数之和&接雨水
算法·双指针
无限进步_4 小时前
C语言数组元素删除算法详解:从基础实现到性能优化
c语言·开发语言·windows·git·算法·github·visual studio
松涛和鸣4 小时前
16、C 语言高级指针与结构体
linux·c语言·开发语言·数据结构·git·算法
Booksort4 小时前
【LeetCode】算法技巧专题(持续更新)
算法·leetcode·职场和发展