题解 | #最长公共子序列(一)#

最长公共子序列(一)

https://www.nowcoder.com/practice/672ab5e541c64e4b9d11f66011059498

import sys

m,n = map(int,input().split())
str1 = input()
str2 = input()


dp = [[0 for _ in range(n+1)] for _ in range(m+1)]


for i in range(1,m+1):
    for j in range(1,n+1):
        if str1[i-1]==str2[j-1]:
            dp[i][j] = 1+dp[i-1][j-1]
        else:
            dp[i][j]=max(dp[i-1][j],dp[i][j-1])

print(dp[-1][-1])

重点是:要在处理表格的第一行和第一列

全部评论

相关推荐

11-19 18:44
已编辑
成都理工大学 Java
程序员花海:我面试过100+校招生,大厂后端面试不看ACM,竞赛经历含金量低于你有几份大厂实习 这个简历整体来看不错 可以海投
如何写一份好简历
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务