定个小目标之刷LeetCode热题(41)

338. 比特位计数

给你一个整数 n ,对于 0 <= i <= n 中的每个 i ,计算其二进制表示中 1 的个数 ,返回一个长度为 n + 1 的数组 ans 作为答案。

今天看一下这道简单题,主要考查位运算,代码如下

java 复制代码
class Solution {
    public int[] countBits(int n) {
        int[] bits = new int[n + 1];
        int heightBit = 0;
        for (int i = 1; i <= n; i++) {
            if ((i & (i - 1)) == 0) {
                heightBit = i;
            }
            bits[i] = bits[i - heightBit] + 1;
        }
        return bits;
    }
}

题目链接:题单 - 力扣(LeetCode)全球极客挚爱的技术成长平台

相关推荐
一个不知名程序员www4 分钟前
算法学习入门---list与算法竞赛中的链表题(C++)
c++·算法
CoderYanger6 分钟前
动态规划算法-路径问题:9.最小路径和
开发语言·算法·leetcode·动态规划·1024程序员节
老欧学视觉6 分钟前
0012机器学习KNN算法
人工智能·算法·机器学习
月明长歌21 分钟前
【码道初阶】一道经典的简单题:Boyer-Moore 多数投票算法|多数元素问题(LeetCode 169)
算法·leetcode·职场和发展
CoderYanger26 分钟前
动态规划算法-路径问题:7.礼物的最大价值
开发语言·算法·leetcode·动态规划·1024程序员节
蕓晨27 分钟前
钱币找零问题-贪心算法解析
c++·算法·贪心算法
hetao173383732 分钟前
2025-12-04 hetao1733837的刷题记录
c++·算法
mjhcsp36 分钟前
C++ 后缀自动机(SAM):原理、实现与应用全解析
java·c++·算法
gihigo199839 分钟前
一维光栅结构严格耦合波分析(RCWA)求解器
算法
海边夕阳20061 小时前
【每天一个AI小知识】:什么是人脸识别?
人工智能·经验分享·python·算法·分类·人脸识别