每日一算法:汉明距离

作者: lio_zero | 来源:发表于2021-04-17 18:20 被阅读0次

两个等长字符串之间的汉明距离(Hamming distance)是两个字符串对应位置的不同字符的个数。换句话说,它就是将一个字符串变换成另外一个字符串所需要替换的字符个数。

例如:

  • 10111011001001之间的汉明距离是2。

  • 21438962233796之间的汉明距离是3。

  • "toned"与"roses"之间的汉明距离是3。

JavaScript 实现

计算两个值之间的汉明距离。

  • 使用 XOR 运算符(^)查找两个数字之间的位差。

  • 使用转换为二进制字符串 Number.prototype.toString(2)

  • 使用计数并返回 1 字符串中的s数 String.prototype.match(/1/g)

const hammingDistance = (num1, num2) =>
  ((num1 ^ num2).toString(2).match(/1/g) || '').length

hammingDistance(2, 3) // 1

此示例来自 30 seconds of code 的 hammingDistance

Leetcode 关于汉明距离的题目

相关文章

  • 每日一算法:汉明距离

    两个等长字符串之间的汉明距离[https://zh.wikipedia.org/wiki/%E6%B1%89%E6...

  • 算法-汉明距离

    题目描述 两个整数之间的汉明距离是指,相应二进制位不同的位置的数目。给你两个整数x和y,计算他们之间的汉明距离。其...

  • 算法 - 计算汉明距离

    算法 - 计算汉明距离[https://jackniu81.github.io/2021/05/27/Algori...

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

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

  • LeetCode 461.汉明距离

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

  • 汉明距离

  • 汉明距离

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

  • 汉明距离

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

  • 汉明距离

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

  • 汉明距离

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

网友评论

    本文标题:每日一算法:汉明距离

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