您的位置:首页 > 其它

LeetCode - 461. Hamming Distance

2016-12-24 10:33 393 查看
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

计算汉明码的距离,即计算两个数的二进制不同位的个数。可以先将两个数异或得到z,z中1的个数就是结果。

class Solution {
public:
int hammingDistance(int x, int y) {
int z = x ^ y;
int cnt = 0;
while( z ) {
z = z & ( z - 1 );
cnt++;
}

return cnt;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: