Brian Kernighan算法,也被称为布莱恩·柯林汉算法,是一种用于统计二进制中位数为1的个数的高效算法。该算法通过不断清除二进制数中最右侧的1来计算1的个数,直到二进制数变为0为止。
201. 数字范围按位与
461. 汉明距离
# 461. 汉明距离
class Solution:def hammingDistance(self, x: int, y: int) -> int:s = x ^ yans = 0while s != 0:s &= s-1ans += 1return ans
# 201. 数字范围按位与
class Solution:def rangeBitwiseAnd(self, left: int, right: int) -> int:while left < right:right &= (right-1)return right