由於看了乙個巨巨的部落格深受啟發。所以不再贅述。
巨巨的部落格
給定乙個字串 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 不用分...