![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 81
陌兮_
这个人很懒,什么也没写
展开
-
Manacher算法-图片详解
简介:一个字符串中找到最长回文子串。求解:暴力解法:分奇数回文和偶数回文。奇回文简单,只需从一个位置向两边扩,对于偶回文,需要添加字符来解决偶回文的问题。(中间加的字符可以是任何字符,即使原字符串中含有的也可以。)例如:字符串为11311;其中奇偶均有,需添加字符变成#1#1#3#1#1#。则最大回文长度为11/2等于5.时间复杂度:O(n*n)Manacher:回文直径、回文半径:从某个位置开始扩,所扩出的回文的直径和半径。arr回文半径数组:记录每个位置的回文半径。通过前面计算出来原创 2021-03-05 11:27:54 · 930 阅读 · 3 评论 -
KMP算法图片详解
简介:KMP算法,解决字符串中的包含问题,时间复杂度O(M+N)。例:str1(长度为M)和str2(长度为N)为两个字符串,判断str1中是否包含str2。解决办法:暴力破解:从开头开始一直向下配,如果配不上从下一个字符继续配,每次配对过程均独立。时间复杂度O(M*N)KMP:在介绍KMP算法前,首先声明一个概念——最长前缀与最长后缀的匹配长度:一个字符前面的字符串的最长前缀和最长后缀的最大匹配长度,并且前缀不能包含最后一个字符,后缀不能包含第一个字符。例:abcabcd这个字符串,如果我求原创 2021-03-05 10:17:22 · 773 阅读 · 1 评论