题目
两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。
给出两个整数 x 和 y,计算它们之间的汉明距离。
注意:
0 ≤ x, y < 231.

思路
可以通过位运算判断 位运算二进制中有多少个1判断

位运算得到的是一个十进制数
看这个十进制数的二进制表示中有多少个1
移位运算符
x >> 1 相当于x右移一位 即 x/2
x << 1 相当于x左移一位 即 x*2
代码
class Solution {
public int hammingDistance(int x, int y) {
int xor = x ^ y;
int res = 0;
while(xor != 0){
if(xor %2 == 1){
res++;
}
xor = xor >> 1;
}
return res;
}
}
本文详细介绍了如何通过位运算计算两个整数之间的汉明距离,包括异或操作、位检查和位移运算的具体应用,提供了完整的算法实现。
116

被折叠的 条评论
为什么被折叠?



