定个小目标之刷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)全球极客挚爱的技术成长平台

相关推荐
Bruce_kaizy3 分钟前
c++图论————最短路之Floyd&Dijkstra算法
c++·算法·图论
WBluuue12 分钟前
AtCoder Beginner Contest 437(ABCDEF)
c++·算法
郝学胜-神的一滴12 分钟前
Linux 下循环创建多线程:深入解析与实践指南
linux·服务器·c++·程序人生·算法·设计模式
ss27329 分钟前
线程池优雅关闭:线程池生命周期管理:四种关闭策略的实战对比
java·jvm·算法
天呐草莓30 分钟前
热传导方程
算法·matlab
wxdlfkj30 分钟前
从坐标系重构到算法收敛:以高性能LTP传感器突破圆周分布孔组位置度的即时检测瓶颈
算法·重构
不能只会打代码33 分钟前
蓝桥杯--生命之树(Java)
java·算法·蓝桥杯·动态规划·贪心
LYFlied33 分钟前
前端跨端技术全景解析:从本质到未来
前端·职场和发展·跨端
MobotStone40 分钟前
三步高效拆解顶刊论文
算法
CreasyChan41 分钟前
unity射线与几何检测 - “与世界的交互”
算法·游戏·3d·unity·数学基础