昨天參加了某公司的校園招聘的筆試題,做得慘不忍睹,其中就有這么一道算法設計題:求一個字符串的最長回文字串。我在ACM校隊選拔賽上遇到過這道題,當時用的后綴數組AC的,但是模板忘了沒寫出代碼來。
回頭我把這道題目再次問了隊友,他搞字符串的,說后綴數組求最長回文串是nlogn的,這個logn要大也大不到哪里去,所以這個做法可以過一般的題目的,但是他告訴我有O(n)的算法——manacher算法,當時我就驚呆了,估計筆試得掛了。
回頭做了HDU3068,從這道題學會了manacher算法。
manacher算法資料請戳:http://pan.baidu.com/s/1dzWJq