题解 | #公共子串计算#

公共子串计算

https://www.nowcoder.com/practice/98dc82c094e043ccb7e0570e5342dd1b

动态规划解

  1. 创建dp增广矩阵
  2. 演算推理动态规划递推关系式
while True:
    try:
        s1, s2, ans = input(), input(), 0
        dp = [[0 for i in s1+'0'] for j in s2+'0']
        for j in range(len(s1)):
            for i in range(len(s2)):
                if s1[j] == s2[i]:
                    dp[i+1][j+1] = dp[i][j] + 1
                if dp[i+1][j+1] > ans:
                    ans = dp[i+1][j+1]
        print(ans)
    except EOFError:
        break
全部评论

相关推荐

09-01 16:09
门头沟学院 Java
点赞 评论 收藏
分享
09-12 18:28
门头沟学院 Java
网友描述的太精准了👍
迷茫的大四🐶:不管活脏还是累,钱到位就行,钱到位啥都不用抱怨
投递字节跳动等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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