題目:
漢明距離:兩個整數之間的漢明距離指的是這兩個數字對應二進制位不同的位置的數目。 給出兩個整數 x 和 y,計算它們之間的漢明距離。
注意:
0 ≤ x, y < 231.
示例:
輸入: x = 1, y = 4
輸出: 2
解釋:
1 (0 0 0 1)
4 (0 1 0 0)
↑ ↑
上面的箭頭指出了對應二進制位不同的位置。
思路:
位運算,異或。
程序:
class Solution: def hammingDistance(self, x: int, y: int) -> int: auxiliary = x ^ y counter = 0 while auxiliary: if auxiliary & 1 == 1: counter += 1 auxiliary = auxiliary >> 1 return counter