美文网首页
461. 汉明距离

461. 汉明距离

作者: justonemoretry | 来源:发表于2021-10-18 21:41 被阅读0次
image.png

解法

异或运算,计算完以后再算计算结果中有几个1,就是不同的二进制数。

class Solution {
    public int hammingDistance(int x, int y) {
        int s = x ^ y;                    
        int ret = 0;
        while (s > 0) {
            ret += s & 1;
            s >>= 1;    
        }
        return ret;
    }
}

更快的算1的方法

class Solution {
    public int hammingDistance(int x, int y) {
        // 异或算出不同位的结果
        int s = x ^ y;                    
        int ret = 0;
        while (s > 0) {
            // 去掉二进制中最右边的值
            s &= s - 1;
            ret++;
        }
        return ret;
    }
}

相关文章

  • LeetCode 461.汉明距离

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

  • TOP 91 - 95

    461. 汉明距离[https://leetcode-cn.com/problems/hamming-distan...

  • 力扣每日一题:461.汉明距离 细说异或与二进制 双解!

    461.汉明距离[https://leetcode-cn.com/problems/hamming-distanc...

  • 461. 汉明距离

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

  • 461. 汉明距离

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

  • 461. 汉明距离

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

  • 461.汉明距离

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

  • 461. 汉明距离

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

  • 461. 汉明距离

    解法 异或运算,计算完以后再算计算结果中有几个1,就是不同的二进制数。 更快的算1的方法

  • 461. 汉明距离

    一 题目: 二 思路: 位运算,详细直接看代码吧 三 代码:

网友评论

      本文标题:461. 汉明距离

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