【发布时间】:2016-08-22 06:48:53
【问题描述】:
最近,我在一次采访中被问到以下问题。
给定一个字符串 S,我需要找到另一个字符串 S2,使得 S2 是 S 的子序列,并且 S 也是 S2+reverse(S2) 的子序列。这里的“+”表示串联。对于给定的 S,我需要输出 S2 的最小可能长度。
有人告诉我这是一个动态编程问题,但是我无法解决它。有人可以帮我解决这个问题吗?
编辑-
有没有办法在 O(N2) 或更短的时间内做到这一点。
【问题讨论】:
-
O(n^3) 解决方案是否可以接受?
-
不,我需要一个比 O(n^3) 更好的解决方案。
标签: string dynamic-programming subsequence