技术栈

leetcode 338. 比特位计数

jay神2023-12-29 23:08

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;
    }
}
上一篇:力扣200. 岛屿数量
下一篇:数据结构与算法 -- 使用DFS算法处理路径问题(二维)
相关推荐
码路飞
10 分钟前
不装 OpenClaw,我用 30 行 Python 搞了个 QQ AI 机器人
java
Re_zero
17 分钟前
以为用了 try-with-resources 就稳了?这三个底层漏洞让TCP双向通讯直接卡死
java·后端
SimonKing
31 分钟前
Fiddler抓包完全指南:从安装配置到抓包,一文讲透
java·后端·程序员
磊磊落落
2 小时前
如何将 Spring Statemachine 作为一个轻量级工作流引擎来使用?
java
兆子龙
16 小时前
ahooks useRequest 深度解析:一个 Hook 搞定所有请求
java·javascript
兆子龙
16 小时前
React Suspense 从入门到实战:让异步加载更优雅
java·javascript
咕白m625
18 小时前
Java 实现 Excel 转 HTML:完整示例
java
RealPluto
19 小时前
Spring AOP 失效排查
java·spring
热门推荐
01GitHub 镜像站点02OpenClaw 使用和管理 MCP 完全指南03OpenClaw 连接飞书完整指南:插件安装、配置与踩坑记录04本地部署 OpenClaw + DeepSeek-R1 完全指南05Window 10部署openclaw报错node.exe : npm error code 12806OpenClaw + 飞书(Feishu)环境搭建指南07OpenClaw 接入 QQ Bot 完整实践指南08npm-error code 128问题解决方法09OpenClaw 飞书机器人不回复消息?3 小时踩坑总结10OpenClaw-VSCode:在 VS Code 里玩转 OpenClaw,远程管理+SSH 双剑合璧