回文串的长度

Posted beaglebone

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了回文串的长度相关的知识,希望对你有一定的参考价值。

动态规划:用f[i][j]表示s[i~j]字符串是否是回文字符串。

技术分享

int main()
{
    string str;
    cin>>str;
    int n=str.size();
    int max_len=0;
    int start=0;
    vector<vector<int>> f(n,vector<int>(n));
    for(int i=0;i<n;i++)
    {
         f[i][i]=true;
         for(int j=0;j<i;j++)
         {
               f[j][i]=(s[i]==s[j])&&((i==j+1)||f[j+1][i-1]);
               if(f[j][i]&&(i-j+1>max_len))
                {
                       max_len=i-j+1;
                       start=j;
                }
          }
          cout<<s.substr(start,max_len)<<endl;

    }
}                                                                                        

 

以上是关于回文串的长度的主要内容,如果未能解决你的问题,请参考以下文章

算法竞赛入门经典 例题 3-4 回文串

返回最长回文子串的长度中心扩散法

最长回文字串暴力

409.求最长回文串的长度 LongestPalindrome

回文串的长度

139. 回文子串的最大长度(回文树/二分,前缀,后缀和,Hash)