求最大回文子串

思路:暴力,动态规划求解

最终方案:python动态规划超时,c++可以

image.png

abccbad,这个字符串的最长回文子串,可以通过动态规划的方式来做。

  1. 按列遍历上三角,因为求a[i][j]需要知道a[i+1][j-1]的值,来确定上一个字符是否已经是回文
  2. 如果子字符串的长度小于等于3,或者前一个字符的串是否是回文,标为1
#include 
#include 
#include 
using namespace std;

int main()
{
    string s="abccbad";
    int str_len=s.length();
    int **p=new int* [str_len];
    for(int i=0;imax_len){
                max_len=j-i+1;
                max_begin=i;
            }
        }
    }
    for(int i=0;i

你可能感兴趣的:(求最大回文子串)