代码随想录算法训练营第九天 28. 实现 strStr()。459.重复的子字符串
代码随想录算法训练营第九天 28. 实现 strStr()。459.重复的子字符串
28.实现strStr()
题目链接:力扣题目链接
文章讲解:代码随想录(programmercarl.com)
视频讲解:
状态:看过视频之后AC
思路
具体KMP算法原理看卡哥的视频,讲的很好。
KMP中匹配的过程
KMP算法,匹配过程放入到一个小视频当中,每个画面持续3秒。好多视频讲解都是“移动模式串”来讲,自己写代码时候有点蒙,所以自己做了个小动图,不使用“移动”来呈现。
Next数组构建过程
Next数组说明
Next数组中,每个元素表示:
- 截止到目前为止,最长相等前后缀的长度;
- 截止到目前为止,最长前缀的后一位。
代码
1 |
|
459. 重复的字符串
题目链接:力扣题目链接
文章讲解:代码随想录(programmercarl.com)
视频讲解:字符串这么玩,可有点难度! | LeetCode:459.重复的子字符串
状态:AC
思路
如果不使用KMP算法还是比较简单的,有很多东西语言已经帮我们实现好了。看了卡哥的讲解感叹这个思路。
构建一个新字符串newString
为两个旧串s
的拼接,但是要掐头去尾一个元素。如果newString
仍然包含s
,说明存在子串构成原字符串。
代码
1 |
|
代码随想录算法训练营第九天 28. 实现 strStr()。459.重复的子字符串
https://promisewang.github.io/post/369230e4.html