1、最大公共子串与最大公共子序列
最大公共子串是指两个序列连续的最大公共子序列,例如 "efghi"和"eghib"的最大公共子串就是“ghi"
采用DP的思想,如果str1[i] = str2[j],那么此处的包含str1[i] 和 str2[j]公共子串的长度必然是包含str1[i-1]和str2[j-1]的公共子串的长度加1,那么现在我们可以重新定义lcs(i,j),即是lcs(i,j) = lcs(i-1,j-1) + 1,反之,lcs(i,j) = 0。
1、最大公共子串与最大公共子序列
最大公共子串是指两个序列连续的最大公共子序列,例如 "efghi"和"eghib"的最大公共子串就是“ghi"
采用DP的思想,如果str1[i] = str2[j],那么此处的包含str1[i] 和 str2[j]公共子串的长度必然是包含str1[i-1]和str2[j-1]的公共子串的长度加1,那么现在我们可以重新定义lcs(i,j),即是lcs(i,j) = lcs(i-1,j-1) + 1,反之,lcs(i,j) = 0。