中级
最长公共子序列-输出序列
未完成
中级参考
代码结构已给出,请填写 ____ 处
def lcs_string(____):
m, n = len(____), len(____)
dp = [[____] * (____) for _ in range(____)]
for i in range(____, m + ____):
for j in range(____, n + ____):
if text1[i - ____] == text2[j - ____]:
dp[i][j] = dp[i - ____][j - ____] + ____
else:
dp[i][j] = max(____)
i, j = m, n
result = []
while i > ____ and j > ____:
if text1[i - ____] == text2[j - ____]:
result.append(____)
i -= ____
j -= ____
elif dp[i - ____][j] > dp[i][j - ____]:
i -= ____
else:
j -= ____
return '____'.join(reversed(____))
示例
输入
print(lcs_string('ABCDEF', 'ACDF'))
期望输出
ACDF
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199