var hammingDistance = function(x, y) {
let x2=x.toString(2).padStart(32, "0"); ;//十进制转为2进制,32位补充0
let y2=y.toString(2).padStart(32, "0");
var arrx=x2.split('');//字符串转换为数组
var arry=y2.split('');
var count=0;
for(i in arrx){
if(arrx[i]!=arry[i]){//x y按字符对比是否相等,不相等进行count相加,也就是不相等的数目
count++;
}
}
return count
}
两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。
给你两个整数 x
和 y
,计算并返回它们之间的汉明距离。
先将两个数字转换成二进制字符串,
然后将字符串用 0 在头部补齐32位。
循环遍历,不等就将计数值count++。
count最后的数值就是不相等的数目,即汉明距离
版权声明:本文为weixin_43320429原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。