两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。
给你两个整数 x 和 y,计算并返回它们之间的汉明距离。
整数 n 是 3 的幂次方需满足:存在整数 x 使得 n == 3x
思路:
- 总思路:
- 异或,因为异或相同为0,不同为1,之后只需要看异或后的结果中有多少个1即可。
function hammingDistance(x: number, y: number): number {
let count = 0;
let result = x ^ y;
let binNum:string = '';
while (result)
{
binNum += result%2;
result = Math.floor(result/2);
}
for(let i=0; i<binNum.length; i++) {
if(binNum[i] == '1') {
count ++;
}
}
return count;
};