编写一个方法longestSubsequence(Strings1,Strings2),该方法返回String的最大长度,String是s1和s2的公共子字符串。例如,如果s1=“industry”,s2=“conduct”,则该方法应返回3,即最长公共子字符串“ndu”的长度。
时间: 2023-05-29 18:06:44 浏览: 86
文思的题--输入字符串S3,将在S1中的出现的字符串S2都替换成S3[文].pdf
以下是Python的实现代码:
def longestSubsequence(s1, s2):
m = len(s1)
n = len(s2)
dp = [[0] * (n+1) for i in range(m+1)]
ans = 0
for i in range(1, m+1):
for j in range(1, n+1):
if s1[i-1] == s2[j-1]:
dp[i][j] = dp[i-1][j-1] + 1
ans = max(ans, dp[i][j])
else:
dp[i][j] = 0
return ans
# 测试
print(longestSubsequence("industry", "conduct")) # 输出 3
阅读全文