Leetcode題解1 最長回文子串 JAVA

2021-09-11 06:18:11 字數 974 閱讀 1679

題目

given a strings, find the longest palindromic substring ins. you may assume that the maximum length ofsis 1000.

example 1:

input: "babad"

output: "bab"

note: "aba" is also a valid answer.

example 2:

input: "cbbd"

output: "bb"

解法:動態規劃演算法

邊界條件:1. 乙個字元組成的字串肯定是回文字串

2. 兩個相同字元組成的字串肯定也是回文字串
遞推條件:如果α是回文串,那麼aαa也是回文字串

邊界條件中我們已經得到了長度為1以及長度為2的回文字串,然後由長度為一的回文串我們可以得到長度為三的回文串,由長度為2的回文串我們可以得到長度為4的回文串,依此類推。

實現**如下:

class

solution

for(

int len =

1;len <= length-

2;len++)}

}}for(

int len = length;len>

0;len--)}

if(flag ==1)

break;}

return s.

equals(""

)?"":s.

substring

(st,ed);}

}

題解 最長回文串

給定乙個字串 s 找到 s 中最長的回文子串,輸出其長度。你可以假設 s 的最大長度為 3000。第1行 1個字串 樣例輸入 babad 樣例輸出 對於乙個字串s l,r 他的最長回文字串有如下兩種情況 1.若s l s r 且 s l 1,r 1 為回文字串,則s l,r 會變為更長的乙個回文字串...

LeetCode演算法題解 5 最長回文子串

題目鏈結 題解 我有四種方法,但是能夠通過時間限制的我這裡只有三種 暴力列舉 o n3 超時 動態規劃演算法 o n2 400ms左右 中心向外擴充套件法 o n2 28ms左右 最標準的演算法 manacher演算法 馬拉車演算法 o n 8ms左右 這就是中心向外擴充套件法的優化 具體的演算法思...

LeetCode 最長回文串

題目 給定乙個包含大寫字母和小寫字母的字串,找到通過這些字母構造成的最長的回文串。在構造過程中,請注意區分大小寫。比如 aa 不能當做乙個回文字串。注意 假設字串的長度不會超過 1010。示例 1 輸入 abccccdd 輸出 7 解釋 我們可以構造的最長的回文串是 dccaccd 它的長度是 7。...