剑指offer系列-面试题-15 - 二进制中1的个数 (python)

mac2026-08-21  2

文章目录

1. 题目2. 解题思路3. 代码实现3.1 4. 总结5. 参考文献

1. 题目

请实现一个函数,输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。例如,9表示成二进制是1001, 有2位1。因此,如果输入9,则该函数输出2。

2. 解题思路

因为涉及到了二进制,所以使用位运算

详细思路移步 leetcode 面试题15. 二进制中 1 的个数(位运算,清晰图解)

3. 代码实现

3.1

class Solution: def hammingWeight(self, n): """ """ count = 0 while n: count += 1 n = (n-1) & n return count

4. 总结

num & 1的结果是,奇数为1偶数为0。

5. 参考文献

[1] 剑指offer丛书

最新回复(0)