首页 文章
  • 10 votes
     answers
     views

    最长的回文子串递归解

    我知道使用自下而上动态编程方法的解决方案在O(n ^ 2)中解决这个问题 . 我特意寻找自上而下的dp方法 . 是否有可能使用递归解决方案实现最长的回文子串? 这是我尝试的但是在某些情况下它失败了,但我觉得我几乎走在正确的轨道上 . #include <iostream> #include <string> using namespace std; string S; ...
  • 3 votes
     answers
     views

    找到最长的回文子串(不是子序列)

    我在做 Find the Longeest Palindromic Substring 的Leetcode问题 . 例如,如果输入babad然后输出可以是bab或aba . 要么 如果输入是cbbd,那么输出是bb . 我很确定我已经弄清楚了,这是我的代码...... def longestPalindrome(self, s): n = len(s) # Empty matr...
  • 38 votes
     answers
     views

    如何找到最长的回文子序列?

    这是来自Algorithms book(Vazirani)的问题(6.7 ch6),与finding longest palindrome的经典问题略有不同 . 我怎么解决这个问题 ? 如果从左到右或从右到左阅读,则子序列是回文的 . 例如,序列A,C,G,T,G,T,C,A,A,A,A,T,C,G具有许多回文子序列,包括A,C,G,C,A和A,A,A,A(另一方面,子序列A,C,T不是回文) ...
  • 1 votes
     answers
     views

    最长的回文子串自上而下动态编程

    下面是使用自下而上动态编程给出字符串 s 找到最长回文子串的算法 . 因此,该算法探索所有可能的长度 j substring,并检查它是否是1到n中 j 的有效回文 . 由此产生的时间和空间复杂度为 O(n^2) . def longestPalindrome(s): n = len(s) if n < 2: return s P = [[Fals...
  • 0 votes
     answers
     views

    如何使用正则表达式实现递归回文检查器? [关闭]

    到目前为止,我一直在使用 ^[a-zA-Z]+( [a-zA-z]+)*$ 确保用户输入在开头和结尾没有空格,不接受数字或特殊字符,只接受字母字符 . 我在网上查看了正则表达式列表,在我的文本中,我无法在这些条件下为递归回文程序制定一个: 接受包含大写或小写字符的字符串 . 接受标点符号和单行间隔空格 . 在验证后我不认为我需要一个正则表达式,但如果有,我想知道它是什么 . 验证后...
  • 8 votes
     answers
     views

    反向/回文的递归Prolog谓词

    我可以得到一个带有两个参数的递归Prolog谓词,称为reverse,它返回列表的反转: 示例查询和预期结果: ?- reverse([a,b,c], L). L = [c,b,a]. 一个名为 palindrome 的两个参数的递归Prolog谓词,如果给定列表是回文,则返回true . 具有预期结果的示例查询: ?- palindrome([a,b,c]). false. ?- p...
  • -1 votes
     answers
     views

    回文子串

    给定两个字符串 A 和 B ,每个字符串由小写字母组成,是否可以选择一些非空字符串s1和s2,其中s1是A的子字符串,s2是B的子字符串,使得s1 s2是回文字符串 . 这里'+'表示字符串之间的串联 . For example: Case 1: A='abc' B='abc' 解决方案选择s1和s2的一种可能方法是s1 =“ab”,s2 =“a”使得s1 s2,即“aba”是回文 . Cas...

热门问题