1、什么是汉明距离
汉明距离,从二进制方面来看,就是两个等长字符串的二进制对应 bit 不相同的位个数,例如
1011
1000 //汉明距离为2
1100
1010 //汉明距离是2
2.计算汉明距离的算法
思路:
01.将两个给定的数进行 异或(^)运算后保存在变量a,汉明距离就是a的二进制中1的个数
02.当a不为0时,和0x01进行按位与(&)运算。如果结果为1,则统计变量加1
03.将a右移一位,重复第02步
代码:
class Solution {
public:
int hammingDistance(int x, int y) {
int cnt = 0;
x=x^y;
while(x!=0)
{
if(x&0x01)
cnt++;
x=x>>1;
}
return cnt;
}
};
如若用Python来写,^在Python中是指“按位异或运算符”:当两对应的二进位相异时,结果为1
版权声明:本文为anxixiaomu原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。