题目描述
给定两个字符串,寻找这两个字串之间的最长公共子序列。
输入
输入两行,分别包含一个字符串,仅含有小写字母。
输出
最长公共子序列的长度。
样例输入
abcdgh
 aedfhb
样例输出
3
def f(a,b):
    srca = [0]
    srcb = [0]
    for i in a:
        srca.append(i)
    for i in b:
        srcb.append(i)
    n = len(srca)
    m = len(srcb)
    dp=[[0]*m for _ in range(n)]
    for i in range(1,n):
        for j in range(1,m):
            if srca[i] == srcb[j]:
                dp[i][j]=dp[i-1][j-1]+1
            else:
                dp[i][j]=max(dp[i-1][j],dp[i][j-1])
    return dp[n-1][m-1]
if __name__ == '__main__':
    src1 = input()
    src2 = input()
    print(f(src1,src2))
    










