你的身体由含有 DNA 的细胞组成。 这些细胞会定期损耗,需要更替,而它们靠分裂成子细胞来完成这件事。 事实上,普通人的身体一生中会经历大约 1 亿亿次细胞分裂!
细胞分裂时,它们的 DNA 也会复制。 有时在这个过程中会出差错,单个 DNA 片段会被编码成错误的信息。 如果我们比较两条 DNA 链并数出它们之间的差异,就能看出发生了多少错误。 这就是所谓的“汉明距离”。
汉明距离不只在生物学中有用,在许多科学领域都很有用,所以这是个值得熟悉的好说法 :)
计算两条 DNA 链之间的汉明距离。
我们使用字母 C、A、G 和 T 来表示 DNA。 两条链可能看起来像这样:
GAGCCTACTAACGGGAT
CATCGTAATGACGGCCT
^ ^ ^ ^ ^ ^^
它们有 7 处不同,因此汉明距离是 7。
汉明距离只对长度相同的序列有定义,所以在长度不同的序列之间计算它是行不通的。
| 寄存器 | 用途 | 类型 | 说明 |
|---|---|---|---|
$a0 |
输入 | 地址 | 第一个以 null 结尾的字符串 |
$a1 |
输入 | 地址 | 第二个以 null 结尾的字符串 |
$v0 |
输出 | 整数 | 汉明距离 |
$t0-9 |
临时 | 任意 | 用于临时存储 |