461. 汉明距离

两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。

给出两个整数 x 和 y,计算它们之间的汉明距离。

注意:
0 ≤ x, y < 231.

输入: x = 1, y = 4

输出: 2

解释:
1   (0 0 0 1)
4   (0 1 0 0)
       ↑   ↑

上面的箭头指出了对应二进制位不同的位置。
class Solution(object):
    def hammingDistance(self, x, y):
        """
        :type x: int
        :type y: int
        :rtype: int
        """
# 方法一
# 异或运算再通过bin显示二进制为计算结果,再通过count计算1的个数 # return bin(x^y).count('1') # 方法二 XOR = x ^ y count = 0 while XOR: count = count + 1 XOR = XOR&(XOR-1) # 布赖恩·克尼根算法 return count

 

posted @ 2020-12-14 20:15  三一一一317  阅读(103)  评论(0)    收藏  举报