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 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_43320429/article/details/127341254