学习目标:
每日一题-汉明距离学习内容:
两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。
给你两个整数 x 和 y,计算并返回它们之间的汉明距离。
思路:
x和y都转化为二进制的时候,在相同的位置上如果值都一样,他们的汉明距离就是0。如果在相同的位置上值不一样,有多少个不一样的位置,那么汉明距离就是多少。所以看到这道题,我们应该最容易想到的就是先异或运算,然后再计算这个异或运算的结果在二进制表示中1的个数
class Solution:
def hammingDistance(self, x: int, y: int) -> int:
xor = x ^ y
res = 0
while xor != 0:
res += xor & 1
xor = xor >> 1
return res