题解 | #公共子串计算#
公共子串计算
https://www.nowcoder.com/practice/98dc82c094e043ccb7e0570e5342dd1b
# 动态规划
s1,s2=input(),input()
l1,l2 = len(s1),len(s2)
dp=[[0]*(l1+1) for _ in range(l2+1)]
for i in range(1,l2+1):
for j in range(1,l1+1):
if s2[i-1]==s1[j-1]:
dp[i][j]=1+dp[i-1][j-1]
print(max(list(map(max,dp))))


查看3道真题和解析