二进制中1的个数
题目要求
请实现一个函数,输入一个整数,输出该数二进制表示中 1 的个数。例如,把 9 表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。
算法分析
最基本的想法是暴力搜索,简便的处理办法是n = n & (n - 1),可以自己动手尝试一下。
代码
class Solution(object):
def hammingWeight(self, n):
count = 0
while n > 0:
n = n & (n - 1)
count += 1
return count