using System;
using System.Collections.Generic;


class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param A string字符串 
     * @return int整型
     */
    public int getLongestPalindrome (string A) {
        // write code here
        int[,] dp=new int[A.Length,A.Length];
        int max=1;
        for(int i=0;i<A.Length;i++)
        {
            dp[i,i]=1;
        }
        var a=A.ToCharArray();
        for(int len=2;len<=A.Length;len++)
        {
            //字串开头
            for(int i=0;i<=a.Length-len;i++)
            {
                int j=i+len-1;
                if(a[i]==a[j] && (len==2 || dp[i+1,j-1]!=0))
                {
                    dp[i,j]=len;
                    max=len;
                }
                 
            }
        }
        return max;
    }
}
二维数组,a[i,j]表示从i到j的子串回文长度