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的子串回文长度