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;
    }
}
相关推荐
千金裘换酒8 小时前
LeetCode 移动零元素 快慢指针
算法·leetcode·职场和发展
wm10439 小时前
机器学习第二讲 KNN算法
人工智能·算法·机器学习
NAGNIP9 小时前
一文搞懂机器学习线性代数基础知识!
算法
NAGNIP9 小时前
机器学习入门概述一览
算法
iuu_star9 小时前
C语言数据结构-顺序查找、折半查找
c语言·数据结构·算法
Yzzz-F9 小时前
P1558 色板游戏 [线段树 + 二进制状态压缩 + 懒标记区间重置]
算法
漫随流水10 小时前
leetcode算法(515.在每个树行中找最大值)
数据结构·算法·leetcode·二叉树
mit6.82410 小时前
dfs|前后缀分解
算法
扫地的小何尚10 小时前
NVIDIA RTX PC开源AI工具升级:加速LLM和扩散模型的性能革命
人工智能·python·算法·开源·nvidia·1024程序员节
千金裘换酒12 小时前
LeetCode反转链表
算法·leetcode·链表