def hammingDistance(self, x, y):
"""
算法:bit操作
思路:
首先很容易想到用异或x^y来求得x和y不同位置的"情况",
1 (0 0 0 1)
4 (0 1 0 0)
异或-> 1 0 1
剩下的问题就是数有几个1了,可以像十进制下每次除以10一位一位取出来数一样,取末尾的值,然后右移
复杂度分析:
时间:ON
空间: O1
"""
num = x ^ y
counter = 0
while num != 0:
counter += (num & 1)
num >>= 1
return counter
LeetCode Easy 461 海明距离 Python
猜你喜欢
转载自blog.csdn.net/qq_28327765/article/details/85225490
今日推荐
周排行