1. 题目
给出两个整数 x 和 y,计算它们之间的汉明距离。
汉明距离是使用在数据传输差错控制编码里面的,汉明距离是一个概念,它表示两个(相同长度)字对应位不同的数量,我们以d(x,y)表示两个字x,y之间的汉明距离。对两个字符串进行异或运算,并统计结果为1的个数,那么这个数就是汉明距离。
示例:
- 输入: x = 1, y = 8
- 输出: 2
- 解释:
1 (0 0 0 1)
8 (1 0 0 0)
↑ ↑
上面的箭头指出了对应二进制位不同的位置。
2. 代码
2.1. C#
public class Solution {
public int HammingDistance(int x, int y) {
var n = x ^ y;
// 计算1的个数
var counter = 0;
while(n>0){
n = n & (n-1);
counter ++;
}
return counter;
}
}

本文介绍了计算两个整数之间的汉明距离的算法,汉明距离是指两个相同长度的字对应位不同的数量。以C#和JavaScript代码实现,并提供了计算二进制数字中1的个数的技巧。
最低0.47元/天 解锁文章
218

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



