技术栈

LCR003-比特位计数

独自破碎E2026-01-30 8:25

求解代码

java 复制代码
public int[] countBits(int n) {
        int[] bits = new int[n+1];

        for(int i=0;i<=n;i++){
            bits[i]=oneBits(i);
        }
        return bits;
    }

    private int oneBits(int n){
        int count = 0;
        while(n>0){
            n&=(n-1);
            count++;
        }
        return count;
    }

小贴士

核心就是用 n & (n-1) 消去最右侧 1的技巧统计 1 的个数。

上一篇:用户认证与授权:使用JWT保护你的API
下一篇:ubuntu通过windows主机访问网络
相关推荐
SuperEugene
1 分钟前
前端 console 日志规范实战:高效调试 / 垃圾 log 清理与线上安全避坑|编码语法规范篇
开发语言·前端·javascript·vue.js·安全
程序员敲代码吗
2 分钟前
USB-C接口深度测试:从Vconn到电压的全方位分析
c语言·开发语言
racerun
11 分钟前
跳转链接批量解析工具 python
开发语言·python
庞轩px
16 分钟前
HotSpot详解——符号引用、句柄池、直接指针的终极解密
java·jvm·设计模式·内存·虚拟机·引用·klass
qq_41769505
29 分钟前
C++中的解释器模式
开发语言·c++·算法
難釋懷
39 分钟前
初识Caffeine
java·缓存
pingan8787
44 分钟前
试试 docx.js 一键生成 Word 文档,效果很不错
开发语言·前端·javascript·ecmascript·word
big_rabbit0502
1 小时前
java面试题整理
java·开发语言
刺客xs
1 小时前
c++模板
java·开发语言·c++
weixin_53759045
1 小时前
《C程序设计语言》练习答案(练习1-5)
c语言·开发语言
热门推荐
01GitHub 镜像站点02Qwen3.5 开源全解析:从 0.8B 到 397B,代际升级 + 全场景选型指南03班级宠物园部署指南04小黑课堂计算机二级WPSoffice题库软件下载安装教程(2026年3月最新版)05OpenClaw 使用和管理 MCP 完全指南06UV安装并设置国内源07围棋-html版本08Labelme从安装到标注:零基础完整指南09OpenClaw Control UI安全上下文访问配置10“wsl --install -d Ubuntu-22.04”下载慢,中国地区离线安装 Ubuntu 22.04 WSL方法(亲测2025年5月6日)