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

相关推荐
烛衔溟14 分钟前
C语言图论:最短路径算法
c语言·算法·图论·dijkstra·bellman-ford·最短路径
烛衔溟17 分钟前
C语言图论:最小生成树算法
c语言·算法·图论·最小生成树·kruskal·prim
Yzzz-F26 分钟前
算法竞赛进阶指南 进阶搜索
算法·深度优先
weixin_4375463333 分钟前
注释文件夹下脚本的Debug
java·linux·算法
月明长歌42 分钟前
【码道初阶】【LeetCode 572】另一棵树的子树:当“递归”遇上“递归”
算法·leetcode·职场和发展
月明长歌1 小时前
【码道初阶】【LeetCode 150】逆波兰表达式求值:为什么栈是它的最佳拍档?
java·数据结构·算法·leetcode·后缀表达式
C雨后彩虹1 小时前
最大数字问题
java·数据结构·算法·华为·面试
java修仙传1 小时前
力扣hot100:搜索二维矩阵
算法·leetcode·矩阵
浅川.251 小时前
xtuoj 字符串计数
算法
天`南1 小时前
【群智能算法改进】一种改进的金豺优化算法IGJO[1](动态折射反向学习、黄金正弦策略、自适应能量因子)【Matlab代码#94】
学习·算法·matlab