题解 | #最长公共子序列(一)#优化大佬的了
最长公共子序列(一)
https://www.nowcoder.com/practice/672ab5e541c64e4b9d11f66011059498
#算最长公共子序列 a,b = map(int,input().split(" ")) x,y = input(),input() dp = [[0]*(b+1) for _ in range(a+1)] for i in range(a): for j in range(b): if x[i] == y[j]: dp[i+1][j+1] = dp[i][j] + 1 else: dp[i+1][j+1] = max(dp[i+1][j], dp[i][j+1]) print(dp[-1][-1])