二进制中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
posted @ 2020-03-25 00:11  isshpan  阅读(153)  评论(0)    收藏  举报