Manacher

做用 線性時間解決最長迴文子串問題。php 思想 Manacher充分利用了迴文的性質,從而達到線性時間。 首先先加一個小優化,就是在每兩個字符(包括頭尾)之間加沒出現的字符(如%),這樣全部字符串長度就都是奇數了,方便了不少。 abcde->%a%b%c%d%e% 記錄p[i]表示i能向兩邊推(包括i)的最大距離,若是能求出p,則答案就是max(p)-1了(以i爲中點的最長迴文爲2*p[i]-1
相關文章
相關標籤/搜索