解题思路:
注意事项:
参考代码:
s1, s2 = map(str, input().split())
dp = [[0] * (len(s2)+1) for i in range(len(s1)+1)]
for i in range(len(s1)):
dp[i][0] = 0
for j in range(len(s2)):
dp[0][j] = 0
for i in range(1,len(s1)+1):
for j in range(1,len(s2)+1):
if s1[i-1] == s2[j-1]:
dp[i][j] = dp[i - 1][j - 1] + 1
else:
dp[i][j] = max(dp[i - 1][j], dp[i][j - 1])
print(dp[len(s1) ][len(s2) ])
0.0分
0 人评分
P1001 (C++代码)浏览:823 |
母牛的故事 (C语言代码)浏览:1409 |
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:695 |
汽水瓶 (C语言代码)浏览:664 |
C语言训练-计算1977!* (C++代码)浏览:907 |
【回文数(二)】 (C语言代码)浏览:800 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:1555 |
输出正反三角形 (C语言代码)格式错误!!!浏览:1177 |
简单的a+b (C语言代码)浏览:564 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:631 |