gpt4 book ai didi

algorithm - 找到作为 A,B,C 字符串的子序列的最长序列 S

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:55:11 25 4
gpt4 key购买 nike

给出一个多项式时间算法,以A、B、C三个字符串为输入,返回A、B、C的子序列中最长的序列S。

最佳答案

dp[i, j, k] = 前缀 A[1..i]、B[1..j]、C[1..k] 的最长公共(public)子序列

我们有:

dp[i, j, k] = dp[i - 1, j - 1, k - 1] + 1 if A[i] = B[j] = C[k]
max(dp[i - 1, j, k], dp[i, j - 1, k], dp[i, j, k - 1]) otherwise

类似于 2d 的情况,除了你有 3 个维度。复杂度为 O(len A * len B * len C)

关于algorithm - 找到作为 A,B,C 字符串的子序列的最长序列 S,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4705276/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com