最长公共子序列
Posted ivyharding
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最长公共子序列相关的知识,希望对你有一定的参考价值。
给定两个字符串,求解这两个字符串的最长公共子序列(Longest Common Sequence)。比如字符串1:BDCABA;字符串2:ABCBDAB
则这两个字符串的最长公共子序列长度为4,最长公共子序列是:BCBA
代码:
def findLCS(A, n, B, m): # write code here record = 0 maxNum = 0 result = [] for i in range(n): for j in range(m): if A[i] == B[j]: if A[i] not in result: record += 1 # print(A[i]) result.append(A[i]) if maxNum < record: maxNum = record return maxNum,"".join(result) if __name__ == "__main__": A = "BDCABA" n = 6 B = "ABCBDAB" m =7 print(findLCS(A, n, B, m))
以上是关于最长公共子序列的主要内容,如果未能解决你的问题,请参考以下文章
最长递增子序列 && 最大子序列最长递增子序列最长公共子串最长公共子序列字符串编辑距离