首页 > 其他 > 详细

(字符串) Manacher 最长回文子串。

时间:2015-03-01 17:02:58      阅读:201      评论:0      收藏:0      [点我收藏+]

  最长回文子串就是一个字符串的一个子串,他从左往右读和从右往左读是一样的。

  可以用 Manacher 算法来求,他的复杂度是 O(n) 。

  可以看这篇文章 http://blog.csdn.net/ywhorizen/article/details/6629268

  但是其中应该有一个错误(纠结了我一天。。。)

  就是技术分享 这一句,文章里面是说当 Mx-i <= Mp[j] 的时候就要用到,因为后面的还没比较。

  技术分享

  但是如图,蓝色的部分是相等的,如果红色的等于蓝色的话,那么Mx就不可能是这个值,所以红色的一定不等于蓝色的,所以说只有当 Mx-i == Mp[j] 或者是 Mx<=i 是才会用到。

(字符串) Manacher 最长回文子串。

原文:http://www.cnblogs.com/whywhy/p/4307246.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!