总算觉得Comp arch的TA没白当hhh
问题描述
The Hamming distance between two integers is the number of positions at which the corresponding bits are different.
Given two integers x
and y
, calculate the Hamming distance.
Note:
0 ≤ x
, y
< 231.
思路
先用xor
得出不一样的数位
一个个跟1
进行&
,然后right shift
def hammingDistance(self, x, y):
"""
:type x: int
:type y: int
:rtype: int
"""
a = x ^ y
count = 0
while a:
if a & 1 == 1:
count += 1
a = a>>1
return count