Think:
1知识点:通过kmp算法next数组求解公共前后缀
2题意:输入串s,输出所有的符合条件的子串的长度,符合条件:子串既是s的前缀又是s的后缀
3解题知识点:
(1):前缀定义:从s的开始字符到s的任意字符为止
(2):后缀定义:从s的任意字符到s的最后字符为止
(3):next[i]定义:字符s[i]及其前面至多有next[i]个连续的字符和字符串s从初始位置开始的next[i]个字符匹配
4解题思路:
求解next数组,然后递归输出路径,注意len_P需要单独输出
以下为Accepted代码
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int size_P = 400414;

该博客介绍了如何运用KMP算法的next数组来寻找字符串的公共前后缀。题目要求输入字符串s,并找出所有既是s的前缀也是后缀的子串长度。next数组用于确定字符串中匹配的连续字符数。解题思路包括计算next数组并递归输出符合条件的子串长度。
最低0.47元/天 解锁文章
589

被折叠的 条评论
为什么被折叠?



