问题:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
解决:
#方法一:
class Solution:
def hammingWeight(self, n: int) -> int:
count = 0
while n:
n &= (n-1) #可以避免无效检测
count += 1
return count
#方法二:与1相与后,右移一位
class Solution:
def hammingWeight(self, n: int) -> int:
count = 0
while n:
count += n & 1
n >>= 1
return count
原文:https://www.cnblogs.com/gugu-da/p/13372933.html