📌  相关文章
📜  无两个相邻字符相同的偶数长度的最长回文子序列的长度

📅  最后修改于: 2021-09-22 10:37:52             🧑  作者: Mango

给定一个字符串str ,任务是找到最长的偶数回文子序列的长度,除了中间的字符外,没有两个相邻的字符相同。

例子:

方法:这个想法是形成一个递归解决方案并使用动态规划存储子问题的值。可以按照以下步骤计算结果:

  • 形成递归函数,将一个字符串和字符这是序列中的起始字符。
  • 如果字符串的第一个和最后一个字符与给定字符匹配,则删除第一个和最后一个字符,并使用除给定字符之外的从 ‘a’ 到 ‘z’ 的所有字符值调用该函数,因为相邻字符不能相同并找到最大长度。
  • 如果字符串的第一个和最后一个字符不给定的字符匹配,然后找到字符串中的给定字符的第一个和最后一个指标,说分别学家将子字符串从i取到j并使用子字符串和给定的字符调用函数。
  • 最后,记住无序映射中的值,并在再次使用相同参数调用函数使用它。

下面是上述方法的实现:

C++


Java


Python3


C#


Javascript


输出
6

时间复杂度: O(N 2 )
辅助空间: O(N)

相关文章:最长回文子序列

如果您希望与专家一起参加现场课程,请参阅DSA 现场工作专业课程学生竞争性编程现场课程