假设Alex不小心输入了fosh,他原本想输入的是fish还是fort呢?
我们使用最长公共子串公式来比较它们。
最长公共子串的长度相同,都包含两个字母!但fosh与fish更像。
这里比较的是最长公共子串,但其实应比较最长公共子序列:两个单词中都有的序列包含的字母数。如何计算最长公共子序列呢?
下面是用于计算fish和fosh的最长公共子序列的网格的一部分。
你能找出填充这个网格时使用的公式吗?最长公共子序列与最长公共子串很像,计算公式也 很像。请试着找出这个公式——答案稍后揭晓。