最长回文子串/最大回文子序列

1、最大回文子串

题目描述

对于一个字符串,请设计一个高效算法,计算其中最长回文子串的长度。

给定字符串A以及它的长度n,请返回最长回文子串的长度。

测试样例:
"abc1234321ab",12
返回:7
class Palindrome {
public:
    string helper(string A,int n){
        //j将字符串转换为首字符为$,其余用#隔开
        string ret(2*n+2,'0');
        ret[0]='$';
        int i=1;
        int j=0;
        while(j p(len,1);
        for(int i=1;imx){
                mx=i+p[i];
                id=i;
            }
            //更新最长回文串的长度
            if(ret

2、最大回文子序列

和最大回文子串不同,子序列不要求连续。


class Solution {
public:
    int longestPalindromeSequencer(string A) {
        int n=A.size();
        vector> dp(n,vector(n,0));
        for(int i=0;i


你可能感兴趣的:(最长回文子串/最大回文子序列)