LeetCode—Python—461—汉明距离<easy>

xiaoxiao2021-03-01  10

所谓汉明距离,这两个数字对应二进制位不同的位置的数目。关于这个东西应该还有一种汉明码在现在高校的《计算机组成原理》这个系列的课程里有讲吧....

哔哔没用..挂代码吧还是(别太堕落???)

class Solution: def hammingDistance(self, x, y): """ :type x: int :type y: int :rtype: int """ sum = 0 s = bin(x^y) for i in s: if i == '1': sum += 1 return sum

基本思路:

对位异或运算,然后累计1的个数。

这个题用Python的位运算是一种比较bug的解法吧.....^位运算符是没有进位的二进制对位相加(好像有的书也说是异或运算)...非常适合这种情况。位运算以后转二进制输出,注意一点就是转二进制之后在s里是按字符串存的...记得判定的时候是字符“1”

零坑任踏

 

 

 

 

 

 

 

 

 

 

月光下一片斑驳竹海

转载请注明原文地址: https://www.6miu.com/read-3850032.html

最新回复(0)