【问题标题】:All possible middle elements, for largest odd length palindrome subsquence of a string所有可能的中间元素,用于字符串的最大奇数回文子序列
【发布时间】:2017-09-01 05:17:45
【问题描述】:

如何为字符串的最长回文子序列找到所有可能的中间元素。 考虑到最长回文子序列的长度是奇数。

【问题讨论】:

  • 你能分享一下你到目前为止的尝试吗?

标签: algorithm dynamic-programming


【解决方案1】:

您可以使用 Longest Palindromic Subsequence 的逻辑并针对您的情况进行扩展。

DP(i,j,k)表示以j为中间元素且当前索引为i和k的最大答案。现在

if(i==j && j==k)
    return 1;
if(S[i] == S[j])
    DP(i,j,k) = 1 + DP(i+1, j, k-1)
DP(i,j,k) = max(DP(i,j,k), max(DP(i+1,j,k), DP(i,j,k-1)))

计算 i,j,k 的所有可能值,最大值就是您的答案。时间复杂度O(n^3)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-16
    • 2020-06-23
    • 1970-01-01
    • 2014-02-12
    • 2013-12-01
    • 1970-01-01
    • 2020-09-11
    • 2015-05-05
    相关资源
    最近更新 更多