擅长:python、mysql、java
<p>我想您正在寻找的是<a href="http://en.wikipedia.org/wiki/Longest_common_subsequence_problem" rel="nofollow">Longest Common Subsequence</a>算法,它可以非常快速地找到这个序列(在O(n<sup>2</sup>)时间内)。该算法基于一个简单的动态规划递归,网上有很多例子可以说明如何实现该算法。在</p>
<p>直观地说,该算法使用以下递归分解来工作,该分解通过查看每个序列的第一个三元组来工作:</p>
<ul>
<li>如果任一序列为空,则最长的公共子序列为空序列。在</li>
<li>否则:
<ul>
<li>如果每个序列的前三元组匹配,则LCS是紧跟着两个序列剩余部分的LCS的元素。在</li>
<li>如果不是,则LCS是以下两者中较长的一个:第一个序列的LCS和第二个序列中除第一个元素之外的所有元素,或者第二个序列的LCS和第一个序列中除第一个元素之外的所有元素。在</li>
</ul></li>
</ul>
<p>希望这有帮助!在</p>