您的位置:首页 > 其它

[leetcode][461]461. Hamming Distance

2017-01-05 23:32 411 查看
The Hamming distance between two integers is the number of positions at which the corresponding
bits are different.

Given two integers 
x
 and 
y
,
calculate the Hamming distance.

Note:

0 ≤ 
x
y
 <
231.

Example:
Input: x = 1, y = 4

Output: 2

Explanation:
1   (0 0 0 1)
4   (0 1 0 0)
↑   ↑

The above arrows point to positions where the corresponding bits are different.


Subscribe to see which companies asked this question

import math
class Solution(object):
def comp_bits(self, x, nums):
ans = [0 for i in range(nums)]
for i in range(nums):
if x % 2 == 1:
ans[i] = 1
x = x//2
return ans

def hammingDistance(self, x, y):
"""
:type x: int
:type y: int
:rtype: int
"""
if x == 0 and y == 0:
return 0
nums = int(math.log(max(x,y),2))+1
ans1 = self.comp_bits(x,nums)
ans2 = self.comp_bits(y,nums)
ans = 0

for i,j in zip(ans1,ans2):
if i!=j:
ans += 1
return ans
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: