leetcode 338. 比特位计数

2023.12.28

简单的动态规划问题。 首先明确:当前为奇数时,比特数 = 当前数除以2的比特数;当前数为偶数时,比特数 = 当前数-1的比特数加上一

使用动态规划循序遍历即可,java代码如下:

java 复制代码
class Solution {
    public int[] countBits(int n) {
        if(n == 0) return new int[] {0};

        int[] dp = new int[n+1];
        dp[0] = 0;
        dp[1] = 1;
        for(int i=2; i<=n; i++){
            //偶数
            if(i % 2 == 0){
                dp[i] = dp[i/2];
            }
            //奇数
            else{
                dp[i] = dp[i-1] + 1;
            }
        }
        return dp;
    }
}
相关推荐
Morwit14 分钟前
*【力扣hot100】 448. 找到所有数组中消失的数字
数据结构·算法·leetcode
朔北之忘 Clancy18 分钟前
第二章 分支结构程序设计(2)
c++·算法·青少年编程·竞赛·教材·考级·讲义
Wpa.wk20 分钟前
性能测试 - 性能监控命令top,ps
java·经验分享·测试工具
Miss_Chenzr25 分钟前
Springboot企业人事管理系统mi130(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
java·数据库·spring boot
FAFU_kyp31 分钟前
Rust 流程控制学习教程
学习·算法·rust
0和1的舞者39 分钟前
力扣hot100-链表专题-刷题笔记(二)
笔记·算法·leetcode·链表·职场和发展
曾几何时`1 小时前
MySQL(四)表的约束
算法
gihigo19981 小时前
竞争性自适应重加权算法
人工智能·算法·机器学习
明洞日记1 小时前
【CUDA手册004】一个典型算子的 CUDA 化完整流程
c++·图像处理·算法·ai·图形渲染·gpu·cuda
金色光环1 小时前
【SCPI学习】STM32与LWIP实现SCPI命令解析
stm32·嵌入式硬件·算法·scpi学习·scpi