📌  相关文章
📜  两根字符串之间的汉明距离(1)

📅  最后修改于: 2023-12-03 15:21:34.323000             🧑  作者: Mango

两个字符串之间的汉明距离

汉明距离(Hamming distance)指的是两个等长字符串在相同位置上不同字符的个数。换句话说,汉明距离就是将一个字符串替换成另一个字符串所需要的最小操作次数。

在计算机科学中,汉明距离常被用作误差控制编码的基础,例如在传输过程中添加纠错码。此外,它也被用于计算两个文件之间的差异,并在最新版本的Git中用于计算文件的相似度。

下面是计算两个字符串之间汉明距离的Python代码片段:

def hammingDistance(s1: str, s2: str) -> int:
    # 判断两个字符串长度是否相等
    if len(s1) != len(s2):
        raise ValueError("Input strings must have the same length.")
        
    # 计算汉明距离
    return sum(ch1 != ch2 for ch1, ch2 in zip(s1, s2))

上述代码使用Python的zip函数将输入的两个字符串打包成元组的列表,然后使用遍历列表并比较相应位置上的字符是否相同的方式计算汉明距离。

下面是一个示例:

>>> hammingDistance('abcdef', 'abxyef')
2

在上面的示例中,两个字符串的第3个字符和第4个字符是不同的,因此它们的汉明距离为2。

总之,汉明距离是在许多计算机科学领域非常重要的概念,它能够帮助我们理解和解决各种问题。