KMP 各种类型总结

以下是几种KMP类型题:

 

A.类型1:匹配子字符串在母串中第几个位置开始出现。

B.类型2:子串在母串中出现了几次(可以有重复的)。

eg:子串:AZA

母串:AZAZAZA

ans = 3;

C.类型3:母串中最多有几个子串。

eg:母串:aaaaa   

子串:aa   

ans=2,    最多2个

D.类型4:求最小循环节有几个。

eg: aabaabaabaab

最小循环节:aab

循环:4次

E.类型5:当前最小循环节中字符串的个数(不可以补字符串)。

eg:aabaabaabaab,可分为

aa       (字符串长度:2,最小循环节:a,次数:2),

aabaab     (字符串长度:6,最小循环节:aab,次数:2),

aabaabaab     (字符串长度:9,最小循环节:aab,次数:3),

aabaabaabaab    (字符串长度:12,最小循环节:aab,次数:4)

F.类型6:需要再补几个字符能构成一个类似手链那样循环相同的。

eg:abca ->2

abcde->5

aaa->0

G.类型7:给出一字符串,找出由2个或2个以上相同的子字符串组成的前缀,输出前缀长度及其相同的子字符串数。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值