当前位置: 首页 > news >正文

LeetCode|Day26|191. 位 1 的个数|Python刷题笔记

LeetCode|Day26|191. 位 1 的个数|Python刷题笔记

🗓️ 本文属于【LeetCode 简单题百日计划】系列
👉 点击查看系列总目录 >>


📌 题目简介

题号:191. 位 1 的个数
难度:简单
题目链接:点击跳转


🧾 题目描述

编写一个函数,接收一个无符号整数 n,返回其二进制表示中 "1" 的个数。
这个问题通常被称为 Hamming Weight(汉明重量)。

示例 1:

输入:n = 11 (二进制为 00000000000000000000000000001011)
输出:3
解释:输入中有三个二进制位为 '1'。

示例 2:

输入:n = 128 (二进制为 00000000000000000000000010000000)
输出:1

💡 解法:位运算逐位统计

class Solution:def hammingWeight(self, n: int) -> int:count = 0while n:count += n & 1  # 取出最低位是否为1n >>= 1         # 右移一位,相当于整除2return count

🧠 我的理解

  • 利用按位与运算 n & 1 判断最低位是否为 1
  • 每次检查完后,将 n 右移一位,继续判断下一位;
  • 不断累加直到 n 变为 0。

📌 基础语法复习:

  • n & 1:按位与,判断最低位是否为 1;
  • n >>= 1:将整数右移 1 位,相当于除以 2;
  • while n::当 n 不为 0 时循环;
  • 这种逐位遍历的方法是处理位运算问题的重要技巧。

📌 返回总目录:点我回目录

http://www.dtcms.com/a/299457.html

相关文章:

  • Java学习|黑马笔记|Day23】网络编程、反射、动态代理
  • AI+预测3D新模型百十个定位预测+胆码预测+去和尾2025年7月26日第150弹
  • 在Power Automate Desktop中执行PowerShell获取SharePoint online某个文件夹的用户权限列表
  • SAP ABAP的数据通过调用泛微Restful API同步数据到OA建模表
  • 学习日志19 python
  • pytest中的rerunfailures的插件(失败重试)
  • 在 Scintilla 中为 Squirrel 语言设置语法解析器的方法
  • 【Kubernetes】使用StatefulSet进行的资源调度,扩缩容,更改配置到版本回滚,三种配置更新方式
  • c#中让图片显示清晰
  • 三、平衡桥电路
  • 060_泛型擦除与边界限定
  • MySQL数据库SQL语句进阶篇——连接查询与子查询详解
  • Traffic Lights set的使用
  • CSS变量与Houdini自定义属性:解锁样式编程新维度
  • Go 语言函数设计原则:避免修改传入参数
  • MCU中的GPIO(通用输入/输出)是什么?
  • [Qt]QString隐式拷贝
  • 利用DeepSeek解决kdb+x进行tpch测试的几个问题及使用感受
  • 系统架构设计师-【2025年上半年案例题】-真题分享
  • unittest 案例执行顺序详解
  • [SAP ABAP] ALV报表练习4
  • FreeRTOS-事件组
  • Cortex-M3内核SysTick定时器介绍
  • `munmap`系统调用及示例
  • 柔性智造:华控智能的垂直整合定制方案
  • 微服务springcloud http客户端feign
  • 伟淼科技李志伟:破解二代接班传承困局,系统性方案破除三代魔咒
  • Redis缓存策略以及bigkey的学习(九)
  • C语言——学习笔记
  • 数据结构(4)单链表算法题(上)