题解 | #最长公共子序列#
最长公共子序列
https://www.nowcoder.com/practice/4727c06b9ee9446cab2e859b4bb86bb8
s1 = input()
s2 = input()
if not s1 or not s2:
print("-1")
m = len(s1)
n = len(s2)
record = [["" for i in range(n+1)] for j in range(m+1)]
for i in range(1, m+1):
for j in range(1, n+1):
if s1[i-1] == s2[j-1]:
record[i][j] = record[i-1][j-1] + s1[i-1]
else:
if len(record[i-1][j]) > len(record[i][j-1]):
record[i][j] = record[i-1][j]
else:
record[i][j] = record[i][j-1]
if record[m][n] != "":
print(record[m][n])
else:
print("-1")
查看11道真题和解析