其他分享
首页 > 其他分享> > 1040 Longest Symmetric String (25 分)

1040 Longest Symmetric String (25 分)

作者:互联网

最长回文子串。

动态规划解法,时间复杂度:\(O(n^2)\)。

const int N=1010;
bool f[N][N];
string s;

int main()
{
    getline(cin,s);

    int res=0;
    for(int i=s.size()-1;i>=0;i--)
        for(int j=i;j<s.size();j++)
        {
            if(i == j) f[i][j]=true;
            else if(i+1 == j) f[i][j]=(s[i]==s[j]);
            else f[i][j]=f[i+1][j-1] && (s[i]==s[j]);

            if(f[i][j]) res=max(res,j-i+1);
        }

    cout<<res<<endl;
    //system("pause");
    return 0;
}

标签:25,1040,const,int,复杂度,Symmetric,size
来源: https://www.cnblogs.com/fxh0707/p/14501626.html