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;
    }
}
相关推荐
罗湖老棍子17 小时前
【例 3】校门外的树(信息学奥赛一本通- P1537)
数据结构·算法·树状数组
guguhaohao17 小时前
平衡二叉树(AVL),咕咕咕!
数据结构·c++·算法
一叶落43817 小时前
LeetCode 137. 只出现一次的数字 II —— 位运算解法
c语言·数据结构·算法·leetcode·哈希算法
阿豪只会阿巴17 小时前
咱这后续安排
c++·人工智能·算法·leetcode·ros2
逆境不可逃18 小时前
LeetCode 热题 100 之 215. 数组中的第K个最大元素 347. 前 K 个高频元素 295. 数据流的中位数
算法·leetcode·职场和发展
凤年徐18 小时前
优选算法——滑动窗口
c++·算法
DDzqss18 小时前
3.14打卡day35
算法
WHS-_-202218 小时前
mCore: Achieving Sub-millisecond Scheduling for 5G MU-MIMO Systems
java·算法·5g
浅念-18 小时前
C++11 核心知识点整理
开发语言·数据结构·c++·笔记·算法
炽烈小老头18 小时前
【 每天学习一点算法 2026/03/14】二叉搜索树中第K小的元素
学习·算法