汉明距离

作者: _阿南_ | 来源:发表于2020-02-24 10:18 被阅读0次

题目:

两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。
给出两个整数 x 和 y,计算它们之间的汉明距离。
注意:
0 ≤ x, y < 231.
示例:
输入: x = 1, y = 4
输出: 2
解释:
1   (0 0 0 1)
4   (0 1 0 0)
       ↑   ↑
上面的箭头指出了对应二进制位不同的位置。

题目的理解:

将整数转化为二进制,然后再转化为字符串,进行字符串比较,得到不同的位数。

python实现

class Solution:
    def hammingDistance(self, x: int, y: int) -> int:
        left = '{:>035s}'.format(bin(x)).replace('0b', '')
        right = '{:>035s}'.format(bin(y)).replace('0b', '')

        count = 0
        for index in range(33):
            if left[index] != right[index]:
                count += 1

        return count

提交

成功

成绩又有点差啊,再想想办法。

另一个解

直接使用异或计算。

class Solution:
    def hammingDistance(self, x: int, y: int) -> int:
        return bin(x ^ y).count('1')

思路简单清晰啊


马马虎虎

但是结果差不多啊!!!

// END 春天来了,看着对岸的柳树已经长出很多新芽了。

相关文章

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

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

  • 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,计算它们之间的汉明...

  • 汉明距离

    汉明距离是求等长的字段串之间的距离,换句话说,就是通过异或求出1的数量. 举例说明 复习一下异或的求解方式,异或是...

网友评论

    本文标题:汉明距离

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