leetcode 回文字串(馬拉車演算法模板)

2021-10-25 03:08:19 字數 421 閱讀 2677

由於看了乙個巨巨的部落格深受啟發。所以不再贅述。

巨巨的部落格

給定乙個字串 s,找到 s 中最長的回文子串。你可以假設 s 的最大長度為 1000。

示例 1:

輸入: 「babad」

輸出: 「bab」

注意: 「aba」 也是乙個有效答案。

示例 2:

輸入: 「cbbd」

輸出: 「bb」

看懂馬拉車即可

class solution

if(p[i]-1>maxlength)

}string ans="";

int start=(index-maxlength-1)/2;//這裡和巨巨的模板**不同,多減了乙個1但是和巨巨部落格中相同

for(int i=start;i主要是為了留一下巨巨的部落格(orz)

最長回文字串 馬拉車演算法

很簡單的例題,就比如hdu3068那個,模版題。首先我們可以考慮暴力,然後可以列舉中心,當你列舉中心的時候,先是1,再是2,如果2不行,那就可以退出了,因為以該點為中心的字串不能繼續拓展了。我們應該開始列舉下乙個中心點了。然後我們考慮優化,馬拉車演算法的核心就是利用了前面計算的資訊,從而高效的得出最...

最長回文字串(馬拉車演算法)

演算法總結第三彈 manacher演算法,前面講了兩個字串相演算法 kmp和拓展kmp,這次來還是來總結乙個字串演算法,manacher演算法,我習慣叫他 馬拉車 演算法。相對於前面介紹的兩個 演算法,manacher 演算法的應用範圍要狹窄得多,但是它的思想和拓展kmp 演算法有很多共通支出,所以...

馬拉車(求最長回文字串)

參考 時間複雜度 o 要分奇數子字串與偶數子字串 時間複雜度 o string findlongest string s return s.substr start,end start 1 int expand string s,int left,int right return r l 1 不用分...