news 2026/5/11 6:23:32

LeetCode 二进制中1的个数题解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LeetCode 二进制中1的个数题解

LeetCode 二进制中1的个数题解

题目描述

编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 '1' 的个数。

示例

输入:n = 00000000000000000000000000001011
输出:3

解题思路

方法:位运算

思路

  • 使用位运算来解决这个问题。
  • 将 n 与 1 进行与运算,检查最低位是否为 1。
  • 将 n 右移一位,继续检查。
  • 重复上述步骤,直到 n 为 0。

复杂度分析

  • 时间复杂度:O(k),其中 k 是整数的位数。
  • 空间复杂度:O(1)。

代码实现

方法:位运算

# 二进制中1的个数(位运算) def hamming_weight(n): count = 0 while n: count += n & 1 n >>= 1 return count # 测试 def test_hamming_weight(): n = 0b00000000000000000000000000001011 print(hamming_weight(n)) # 输出:3 if __name__ == "__main__": test_hamming_weight()

测试用例

测试用例 1:基本情况

输入:n = 00000000000000000000000000001011
输出:3

总结

二进制中1的个数是一个经典的位运算问题,它可以通过位运算来高效地解决。

位运算的核心思想是:将整数与 1 进行与运算,检查最低位是否为 1,然后将整数右移一位。

掌握位运算的使用方法,对于解决类似的问题非常重要。

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

Rust实现Mistral推理引擎:高性能本地大模型部署与优化指南

1. 项目概述:为什么我们需要一个Rust版的Mistral推理引擎?最近在折腾本地大模型推理,发现了一个宝藏项目:mistral.rs。这是一个用Rust语言实现的Mistral AI模型推理引擎。如果你和我一样,对在本地高效、稳定地运行像Mi…

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

技术人如何用戏剧技巧提升演讲影响力:从内容传递到情感连接

1. 项目概述:一个技术人的戏剧课奇遇作为一个在软件工程领域摸爬滚打了二十多年的老技术人,我一直信奉“内容为王”。无论是给客户做技术方案演示,还是在国际会议上分享项目成果,我的准备流程都高度一致且“技术流”:反…

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

半导体并购新趋势:从规模扩张到价值重构的三大模式解析

1. 并购浪潮的新变奏:从规模扩张到价值重构最近两年,半导体与电子行业的并购(M&A)活动,其交易量级已经远远超出了历史记录。作为一名长期观察行业动态的从业者,我深切感受到,这股浪潮的驱动…

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

Dify Python SDK:简化AI应用开发,提升API调用效率

1. 项目概述:一个为Dify Runtime API量身打造的Python SDK 如果你正在使用Dify构建AI应用,并且厌倦了手动拼接HTTP请求、处理各种响应格式和流式事件,那么 dify-client-python 这个项目很可能就是你一直在找的工具。它是一个完全类型化的Py…

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

太阳能产业竞争逻辑:从晶硅技术统治到创业生存法则

1. 从一位工程师创业者的视角,重审太阳能产业的现实与未来几年前,我在香港一家酒店的咖啡厅里,与一位相识多年的工程师兼创业者朋友瓦迪斯杜尼斯聊天。当时,太阳能行业正经历着一轮热潮,各种新技术和初创公司层出不穷。…

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

400GbE以太网标准:从技术博弈到产业落地的深度解析

1. 从“需要速度”到标准启航:400GbE的必然之路“我感受到了那种需求——对速度的需求!” 这句来自《壮志凌云》的经典台词,在2012年底,成了我推动下一代以太网标准工作的最佳注脚。当时,作为以太网联盟的主席&#xf…

作者头像 李华