class Solution(object):
def longestCommonSubsequence(self, text1, text2):
"""
最长公共子序列问题
dp[i][j] : text1[:i+1] 和 text2[:j+1] longest common sequence
"""
dp = [[0] * (len(text2)+1) for _ in range(len(text1)+1)]
for i in range(1,len(dp)):
for j in range(1,len(dp[0])):
if text1[i-1] == text2[j-1]:
dp[i][j] = dp[i-1][j-1] + 1
else:
dp[i][j] = max(dp[i-1][j], dp[i][j-1])
return dp[-1][-1]
转载:https://blog.csdn.net/dpengwang/article/details/100991912
查看评论