1、最长公共子序列
题目:给你一个序列X和另一个序列Z,当Z中的所有元素都在X中存在,并且在X中的下标顺序是严格递增的,那么就把Z叫做X的子序列。例如:Z=<a,b,f,c>是序列X=<a,b,c,f,b,c>的一个子序列,Z中的元素在X中的下标序列为<1,2,4,6>。现给你两个序列X和Y,请问它们的最长公共子序列的长度是多少?
思路
最长公共子序列的英文是Longest Common Subsequense简写为LCS。用LCS[m][n] 来表示序列长度为m和序列长度为n的两个序列的 最长公共子序列的长度。
情况(1)末尾元素相等的情况:
情况(2)末尾元素不相等的情况:
总结:递归公式为