最長回文子串行

2021-10-05 10:57:57 字數 1175 閱讀 1780

刷演算法題時遇到這道求最長回文子串行長度的題,因為其子序列不要求連續,跟普通求回文子串行不同,因此加以記錄

方法一:二維動態規劃

public

class

question6_最長回文子串行_動態規劃

int[

]dp=

newint

[n][n]

;//單個字元的最長回文子串行長度為1

for(

int i=

0;i) dp[i]

[i]=1;

//第一層迴圈代表:兩個字元之間的距離

for(

int dist=

1;dist<=n-

1;dist++)}

if(str.

charat

(i)==str.

charat

(j))

dp[i]

[j]=dp[j]

[i]=innerlargest+2;

else

dp[i]

[j]=dp[j]

[i]=innerlargest;}}

system.out.

println

(dp[0]

[n-1])

;}}

方法二:遞迴

public

class

question6_遞迴解法

//遞迴計算最長回文子串行的長度

public

static

intsubstrlen

(string s)

int maxsubstrlen=1;

for(

int dist=

1;dist<=s.

length()

-3;dist++)}

}if(s.charat(0

)==s.

charat

(s.length()

-1))

return

2+maxsubstrlen;

else

return maxsubstrlen;

}}

最長回文子串 最長回文子串行

1.最長回文子串行 可以不連續 include include include include using namespace std 遞迴方法,求解最長回文子串行 intlps char str,int i,int j intmain include include include using n...

最長回文子串行 回文子串行個數

主要內容 1 什麼是回文?2 字元子串和字元子串行的區別 3 最長回文子串行的思路和 4 回文子串行個數的思路和 回文指的是正讀和反讀都一樣的字串,如aba,abba等 字元字串指的是字串中連續的n個字元 如palindrome中,pa,alind,drome等都屬於它的字串 而字元子串行指的是字串...

最長回文子串行

一.題目描述 給定乙個字串 s,找到 s 中最長的回文子串。你可以假設 s 的最大長度為 1000。示例 1 輸入 babad 輸出 bab 注意 aba 也是乙個有效答案。示例 2 輸入 cbbd 輸出 bb 二.如下 class solution def longestpalindrome se...