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



京公网安备 11010502036488号