D KMP字符串模式匹配算法实现

时间限制1 S
内存限制8 MB
通过率27.8%(90 / 324)
题目描述

KMP算法是字符串模式匹配算法中较为高效的算法之一,其在某次子串匹配母串失败时并未回溯母串的指针而是将子串的指针移动到相应的位置。严蔚敏老师的书中详细描述了KMP算法,同时前面的例子中也描述了子串移动位置的数组实现的算法。前面你已经实现了子串移动的数组,现在就来利用该数组来实现KMP模式匹配。

输入格式

3组字符串,每组字符串占一行。每行包含由空格分隔的两个字符串,字符串仅由英文小写字母组成且长度不大于1000000

输出格式
每组数据输出1行,输出后一个字符串在前一个字符串中的位置,如果不匹配,则输出0
输入输出样例
输入复制
string str
thisisalongstring isa
nosubstring subt
输出复制
1
5
0
数据范围与提示
提示:
表示字符串的数据结构依然是字符数组。
总结:
KMP算法调用很简单,但难的是理解算法的思想。掌握算法的思想才能说是掌握算法。
来源
ACM
上传者
提交记录查看记录
题目类型传统
评测方式文本比较
提交 / 通过324 / 90
标签 ACM
相关讨论
暂无讨论