超过 2 个字符串的最长公共子序列

Longest Common Subsequence for more than 2 strings

提问人:Pranshu 提问时间:6/26/2022 更新时间:6/26/2022 访问量:62

问:

如何找到两个以上字符串的LCS(最长公共子序列)?我们可以用 DP 求解两个字符串的 LCS,但是如何继续解决两个以上字符串的 LCS?

C++ 字符串 序列

评论


答:

0赞 Meeso 6/26/2022 #1

我不确定这是否是最好的答案,但我想 DP 方法在这里也行得通。使用 2 个字符串,您可以制作一个 2D 数组,并用“匹配长度”填充它,以获得两个字符串的不同开始/结束(取决于您的方法)。您可以将 ND 数组用于 N 个字符串,并以相同的方式填充它。

评论

0赞 Pranshu 6/27/2022
您能否提供某种算法或一些代码,比如说 3 个字符串的 LCS。
0赞 Meeso 6/28/2022
今晚我可能会试着想这样的事情。然后我会发布一些代码。