Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/138.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何降低子字符串回文的时间复杂度?_C++_Time Complexity_Palindrome_Substr - Fatal编程技术网

C++ 如何降低子字符串回文的时间复杂度?

C++ 如何降低子字符串回文的时间复杂度?,c++,time-complexity,palindrome,substr,C++,Time Complexity,Palindrome,Substr,我正在解决这个问题,输入:一个字符串,输出:它是回文中最长的子字符串 我在O(n^3)中以下面的方式解决了它。我试图用O(n^2)来解它。请帮忙。 代码如下: int-isPalindrome(字符串str){ 对于(int i=0,j=str.size()-1;i=0&&right)只需搜索“最长回文子串”,您将得到许多这样的文章。如果您想要O(n)方法,请使用。本文共有4组,下一个链接位于末尾。有关Manacher算法的更多文章:,。如果您想要O(n^2)时间复杂度,那么您可能还想看看使用D

我正在解决这个问题,输入:一个字符串,输出:它是回文中最长的子字符串 我在O(n^3)中以下面的方式解决了它。我试图用O(n^2)来解它。请帮忙。 代码如下:

int-isPalindrome(字符串str){
对于(int i=0,j=str.size()-1;i最大长度){
maxLength=计数;
result=temp;//将子字符串保存为结果
}
}
}//环端的j
}//i循环结束
返回结果;
}
配对getPalindromeRange(字符串str,int left,int right){

虽然(左>=0&&right)只需搜索“最长回文子串”,您将得到许多这样的文章。如果您想要
O(n)
方法,请使用。本文共有4组,下一个链接位于末尾。有关Manacher算法的更多文章:,。如果您想要
O(n^2)
时间复杂度,那么您可能还想看看使用DP的解决方案。但是,此DP解决方案具有
O(n^2)
空间复杂度,而我在上面的注释中提到的是
O(1)