← 返回题库
中级

最长公共子序列-输出序列

未完成
中级参考 代码结构已给出,请填写 ____ 处
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
Python 代码 🔒 登录后使用
🔒

登录后即可练习

注册免费账号,在浏览器中直接运行 Python 代码