汉明

汉明

简单

说明

计算两条 DNA 链之间的汉明距离。

你的身体由含有 DNA 的细胞组成。这些细胞会定期损耗,需要更新,而更新的方式就是分裂成子细胞。事实上,人的身体平均一生中大约会发生 1 亿亿次细胞分裂!

细胞分裂时,它们的 DNA 也会复制。有时在这个过程中会出错,DNA 的单个片段被编码了错误的信息。如果我们比较两条 DNA 链并数出它们之间的差异,就能看出发生了多少次错误。这就是所谓的“汉明距离”。

我们用字母 C、A、G 和 T 来读取 DNA。两条链可能长这样:

GAGCCTACTAACGGGAT
CATCGTAATGACGGCCT
^ ^ ^  ^ ^    ^^

它们有 7 处差异,因此汉明距离是 7。

汉明距离在科学中的很多领域都很有用,不只是生物学,所以这是一个值得熟悉的好说法 :)

汉明距离只对长度相同的序列有定义,因此尝试在长度不同的序列之间计算汉明距离是行不通的。这种情况的一般处理方式(例如,抛出异常还是返回一个特殊值)可能因语言而异。

通过 GitHub 编辑 链接将在新窗口或新标签页中打开
Delphi Pascal Exercism

准备好开始 汉明 了吗?

注册 Exercism,借助 76 个练习 和真人导师指导,学习并掌握 Delphi Pascal,全部免费。