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

相关推荐
唯唯qwe-13 小时前
Day21:贪心算法 | 加油站,分发糖果
算法·贪心算法
iAkuya13 小时前
(leetcode)力扣100 18矩阵置零(哈希)
leetcode·矩阵·哈希算法
点云侠13 小时前
粒子群优化算法求解三维变换矩阵的数学推导
线性代数·算法·矩阵
dragoooon3413 小时前
[hot100 NO.31~36]
数据结构·算法·排序算法
白兰地空瓶13 小时前
JavaScript 列表转树(List to Tree)详解:前端面试中如何从递归 O(n²) 优化到一次遍历 O(n)
javascript·算法·面试
艾醒13 小时前
大模型原理剖析——从技术特性、底层架构到落地逻辑的全维度解析
算法
Liangwei Lin13 小时前
洛谷 B3637 最长上升子序列
算法
珂朵莉MM14 小时前
第七届全球校园人工智能算法精英大赛-算法巅峰赛产业命题赛第一赛季优化题--无人机配送
人工智能·算法·无人机
无敌最俊朗@14 小时前
STL-适配器(面试复习4)
java·面试·职场和发展
xiaoxue..14 小时前
列表转树结构:从扁平列表到层级森林
前端·javascript·算法·面试