1. 题目描述
https://leetcode-cn.com/problems/hamming-distance/
2. 代码
1 class Solution: 2 def hammingDistance(self, x: int, y: int) -> int: 3 return bin(x ^ y).count('1')
思路: 汉明距离的本质就是两者异或后1的个数, 直接异或统计即可.
3. 语法整理
3.1 x ^ y: 求x与y的按位异或
x与y相同则异或为0,x与y不同则异或为1
3.2 按位与: 只有两个数的二进制同时为1, 结果才为1, 否则为0. 即 0 & 0= 0 , 0 & 1= 0, 1 & 0= 0, 1 & 1= 1.
3.3 bin() 方法
1 bin(x)
返回值为字符串.
>>>bin(10) '0b1010' >>> bin(20) '0b10100'