2020-04-14

2020-04-14  本文已影响0人  木马音响积木

针对461 汉明距离,一看到,就应该想到位运算,而它的基础是二进制,以及反码,补码,及其运算

对于python

class Solution:
    def hammingDistance(self, x: int, y: int) -> int:
        return bin(x ^ y).count('1')

注意,count,参数是字符串。

class Solution:
    def hammingDistance(self, x: int, y: int) -> int:
        k = x ^ y
        a = 0
        while k:
            a += 1
            k = k & (k - 1)
        return a

k = k & (k - 1) 布赖恩·克尼根算法.

最重要的理解,查表法,哈希字典。
以及沈剑大神,提到的,两次查表法。减少内存占用。

上一篇下一篇

猜你喜欢

热点阅读