您的位置:首页 > 其它

Hamming Distance

2017-01-04 09:42 337 查看

题目描述:

LeetCode 461. Hamming Distance

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.

解题思路:

1、先对x,y进行异或操作

2、将异或得到的结果每次向右移一位,与1按位与,如果结果为1,返回次数加1

JAVA CODE

public class Solution {
public int hammingDistance(int x, int y) {
int res = 0;
int xor = x ^ y;
for(int i= 0;i<32;i++){
res += (xor>>i) & 1;
}
return res;
}
}

PYTHON CODE

class Solution(object):
def hammingDistance(self, x, y):
"""
:type x: int
:type y: int
:rtype: int
"""
return bin(x ^ y).count('1')


可以参考:http://www.cnblogs.com/grandyang/p/6201215.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息