zoukankan      html  css  js  c++  java
  • leetcode-461. Hamming Distance

    461. Hamming Distance

    求两个数之间的汉明距离,两个等长字符串之间的汉明距离是两个字符串对应位置的不同字符的个数。换句话说,它就是将一个字符串变换成另外一个字符串所需要替换的字符个数。这里将书转化为二进制然后比较相同位置不同的数有几个。

    java代码:

    public class Solution {
        public int hammingDistance(int x, int y) {
            int sum=0;
            while(x!=0||y!=0){
                if(x%2!=y%2)sum++;
                x/=2;
                y/=2;
            }
            return sum;
        }
    }
    

    第二种方法,x,y两个数可以先做xor(异或)运算,然后统计结果中有多少个一,刚好java代码中有个专门统计二进制数里面有多少个一的函数,那就是Ingeter.bitCount();

    java代码:

    public class Solution {
        public int hammingDistance(int x, int y) {
            return Integer.bitCount(x ^ y);
        }
    }
    

      

  • 相关阅读:
    【项目】项目27
    【项目】项目26
    【项目】项目25
    【项目】项目24
    【项目】项目23
    【项目】项目22
    【项目】项目21
    【项目】项目20
    【项目】项目19
    【项目】项目18【项目】项目18
  • 原文地址:https://www.cnblogs.com/lcbg/p/6596297.html
Copyright © 2011-2022 走看看