/*
一、最長回文子串(連續)
1.manacher演算法(見前面)
2.動態規劃
*/bool p[100][100];
for(int i=0;i=2)
reutrn s.substr(start,maxlength);//?
/*二、最長回文子串行(不連續)
1.遞迴
2.動態規劃
3.將字串反轉,再求兩個字串的最長公共子串行lcs
*/int lps(char *s,int i,int j)
int lpsdp(char *s,int n)
int num[100][100];//記錄之間的最大值,下標從1開始
int flag[100][100];//記錄標記移動方向
void lcsdp()
else if(num[i][j-1]>num[i-1][j])
else
}//num[lena][lenb]為最大值
}//獲取最長公共子串行
void getlcs()
else if(flag[i][j]==2)
j--;
else
i--;
} //for(i=k-1;i>=0;--i)
// cout<}
最長回文子串 最長回文子串行
1.最長回文子串行 可以不連續 include include include include using namespace std 遞迴方法,求解最長回文子串行 intlps char str,int i,int j intmain include include include using n...
最長回文子串與最長回文子串行
題目1 求最長回文子串 題目2 求回文子串數量 忽略兩個題目對於返回結果的不同要求 前者返回最長的結果,後者返回最長的結果對應的長度即可 dp陣列的定義的區別 最長回文子串 dp i j 表示的是string s中從i到j的子串 用python語法就是s i j 1 是否為回文子串。最長回文子串行 ...
最長回文子串行 最長公共子串行 最長連續回文子串
public class solution int result new int len 1 len 1 stringbuffer sb new stringbuffer s sb sb.reverse string rev sb.tostring result 0 0 0 下面兩個for迴圈相當於...