LeetCode 461 _ 位运算

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'

 

posted @ 2020-09-25 21:47  vv_869  阅读(75)  评论(0编辑  收藏  举报