431.汉明距离

作者: 第四单元 | 来源:发表于2018-04-11 12:05 被阅读3次

题目

两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。

给出两个整数 xy,计算它们之间的汉明距离。

思路

先找出两个数字哪些位置的数字不同,再统计个数。
使用异或运算,10=01=1 00=11=0
那么z=x^y z的二进制表示中1的个数就是答案。
再用191题求‘’“位一的个数”就得到答案了。

代码

class Solution {
    private static int hammingWeight(int n) {
        int count = 0;
        int c = 1;

        for(int i = 0; i < 32; i++) {
            if((n & (c << i)) != 0)
                count++;
        }    

        return count;
    }

    public int hammingDistance(int x, int y) {
        int z = x ^ y;
        return hammingWeight(z);
    }
}

相关文章

  • 431.汉明距离

    题目 两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。 给出两个整数 x 和 y,计算它们之间...

  • 汉明距离、超立方体、异或的一些知识

    汉明距离和汉明重量 汉明距离是以理查德·卫斯里·汉明的名字命名的。在信息论中,两个等长字符串之间的汉明距离是两个字...

  • LeetCode 461.汉明距离

    ?博客原文 :《LeetCode 461.汉明距离 - JavaScript》 汉明距离定义:两个整数之间的汉明距...

  • 汉明距离

  • 汉明距离

    两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。 给出两个整数 x 和 y,计算它们之间的汉明...

  • 汉明距离

    指的是两个(相同长度)字符串,你变成我,我变成你,需要换掉多少个字符的总和,即Max(Sum1,Sum2),比如...

  • 汉明距离

    题目来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/hamm...

  • 汉明距离

    https://zhuanlan.zhihu.com/p/94081111pHash简单来说,是通过感知哈希算法对...

  • 汉明距离

    题目: 题目的理解: 将整数转化为二进制,然后再转化为字符串,进行字符串比较,得到不同的位数。 python实现 ...

  • 汉明距离

    两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。 给出两个整数 x 和 y,计算它们之间的汉明...

网友评论

    本文标题:431.汉明距离

    本文链接:https://www.haomeiwen.com/subject/ippahftx.html