leetcode5 longest palindrome substring 之manacher算法
这个题的常规解法大家可以看答案,还是很简单直接的。这里我想用自己比较易懂的语言,讲一下可以达到o(n)的manacher算法,希望可以帮助有兴趣的盆友思考。首先要引入臂长的概念,比如abcba,以c为中心,那么臂长是2。接下来我们考虑,关于某中心回文上对称的两个点,比如上面abcba上的两个b点,应该有对称的效果。(它俩所在的回文就叫原始回文吧。)左点的臂长如果是不超过原来回文的臂展的,也就是是个小回文,那右点应该至少也拥有这个小回文的臂长。(图片上面的回文,绿点应该至少有红点同样的小臂长)那么,
原创
2021-10-06 15:00:50 ·
59 阅读 ·
0 评论