news 2026/6/6 18:16:52

【 每天学习一点算法 2026/01/19】位1的个数

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【 每天学习一点算法 2026/01/19】位1的个数

每天学习一点算法 2026/01/19

题目:位1的个数

给定一个正整数n,编写一个函数,获取一个正整数的二进制形式并返回其二进制表达式中 设置位 的个数(也被称为汉明重量)。

  1. 最容易想到的方法就是,遍历二进制字符串,统计 1 的个数(找 1 怎么感觉怪怪的)

    functionhammingWeight(n:number):number{conststr=n.toString(2)letcount=0for(letiofstr){if(i==='1')count++}returncount};
  2. 我们还有一种取巧的方法,js 字符串的 split 方法,可以分割字符串,如果们使用 1 分割字符串,那么结果数组长度减一就是 1 的个数

    function hammingWeight(n: number): number { const str = n.toString(2) return str.split('1').length - 1 };
  3. 我们知道二进制是满二进一,那么二进制运算n - 1就是讲最右侧的 1 变成 0,让后讲这个 1 右侧的 0 变成 1,然后我们对nn - 1进行&运算

    按位与(&)的规则是:只有对应位都为 1 时,结果才为 1,否则为 0

    所以n & (n - 1)的结果就会将最右侧的 1 变成 0,我们循环执行n = n & (n - 1)直到 n 变成 0,循环次数就是 1 的个数

    functionhammingWeight(n:number):number{letcount=0while(n){n&=(n-1)count++}returncount};

题目来源:力扣(LeetCode)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/28 13:17:26

Transformer完全入门指南:从零开始理解

Transformer完全入门指南:从零开始理解Transformer完全入门指南:从零开始理解一、Transformer是什么?(一句话解释)二、为什么需要Transformer?1. RNN/LSTM的问题2. Transformer的解决方案三、Transformer的…

作者头像 李华
网站建设 2026/5/31 12:39:04

python鸟类保护知识科普在线学习系统 活动报名系统 微信小程序设计与实现

目录鸟类保护知识科普在线学习系统与活动报名微信小程序设计与实现摘要开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!鸟类保护知识科普在线学习系统与活动报名微信小程序设计与实现摘要 针…

作者头像 李华
网站建设 2026/6/5 4:15:11

基于SpringBoot的ai宠物领养一站式服务系统 宠物日常分享系统

目录 摘要技术实现 开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式! 摘要 随着宠物经济的快速发展,人们对宠物领养和日常管理的需求日益增长。基于SpringBoot的AI宠物领养一站式…

作者头像 李华
网站建设 2026/5/28 13:17:21

收藏!2026大模型行业就业趋势全景报告:小白程序员转型必看

近两年来,大模型技术浪潮以不可阻挡之势席卷整个科技领域,热度长期居高不下且持续攀升。无论是深耕Java、C、Go等传统技术栈的后端开发者、专注交互体验与可视化的前端工程师,还是扎根数据处理、分析与挖掘的数据分析师、算法工程师&#xff…

作者头像 李华
网站建设 2026/5/31 1:05:00

前端开发提效神器:Open-Lovable 克隆网页 + cpolar 远程访问太香了

Open-Lovable 作为一款开源的前端工具,核心能力是通过 AI 对话快速生成完整的 React 应用,最实用的功能就是网页克隆 —— 输入目标网址、选择合适的 AI 模型,就能自动生成结构清晰的 React 代码,还集成了 E2B 沙箱和 Firecrawl 抓…

作者头像 李华
网站建设 2026/6/2 2:01:21

漏洞挖掘实战指南:从原理到落地(2026最新版)

漏洞挖掘实战指南:从原理到落地(2026最新版) 一、漏洞挖掘的核心本质:不止于 “找漏洞” 漏洞挖掘(Vulnerability Mining)是主动发现软件 / 系统中未被披露的安全缺陷的过程,但核心不止于 “找…

作者头像 李华