#P1072. 滑动窗口字符串匹配

滑动窗口字符串匹配

背景:

在一个高科技的编程竞技场中,程序员正正 正在参加比赛。他面临着一个巨大的难题:在一个非常长的字符串中找到一个给定模式的所有出现位置。为此,他决定使用滑动窗口算法来优化他的解决方案,使其效率更高。

提示:

使用滑动窗口算法在字符串 text 中查找字符串 pattern 的所有开始位置。

要求:

  1. 输入两个字符串:t(长度范围为 1 到 1000)和 p(长度范围为 1 到 100),并找到 pt 中所有的出现位置。
  2. 返回这些位置的索引列表(从 0 开始)。如果没有找到任何匹配,返回空列表。
  3. 实现一个高效的解决方案,优先考虑时间复杂度。

输入:

  • t: 一个长字符串,用于进行匹配。
  • p: 一个较短的字符串,表示要查找的模式。

输出:

  • 一个整数列表,包含 pt 中出现的所有起始索引。

示例:

输入:

ababcabcabababd
abab

输出:

0 2 10