首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LCS (最长公共子序列)-得到最佳K解

LCS (最长公共子序列)-得到最佳K解
EN

Stack Overflow用户
提问于 2017-11-05 09:55:57
回答 1查看 270关注 0票数 0

LCS问题得到两个字符串,并返回它们最长的公共子序列。

例如:

字符串上的LCS:大象eat是3,因为eat大象-指数0、6、7或2,6,7的子序列。

另一个例子是:

字符串上的LCS:大象橄榄是2,因为它们最长的公共子序列是le

问题是,是否有一个算法不仅返回最优解,而且还能返回K个最佳解?

EN

回答 1

Stack Overflow用户

发布于 2017-11-18 17:39:18

有一个返回所有最优解的算法(我认为这就是您所要求的)。

如在维基百科

使用两个字符串的动态规划算法构造表,然后递归地从结束到开始进行回溯,并增加计算,如果(i,j-1)或(i-1,j)中的任何一个可以是当前路径之前的点,那么这两条路径都会被探索。在最坏的情况下,这会导致指数计算。

在最坏的情况下,这些最优序列可以有一个指数型数!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47120228

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档