Advertisement

NC142最长重复子串

阅读量:

描述

所谓重复字符串,指的是由两个完全相同的子串依次连接构成的字符串,例如 abcabc 就是一个长度为6的重复字符串,其结构特征在于前后两部分完全一致。

则未出现任何重复的字符串片段。

对于任意一个输入字符串,要求找出其中最长的重复子串,并返回其长度数值。

当字符串中不存在任何重复字符组成的子串时,应返回数值 0。

数据范围规定如下:

字符串的长度不超过 2 \times 10^42×104

小标题

复制代码

复制返回值信息:

复制代码
复制代码

示例2

复制代码

复制返回值信息:

复制代码
复制代码

滑动窗口
针对子串类问题,滑动窗口算法通常被采用,此处即为一个典型的应用场景,

  1. 首先对字符串进行分割处理,将其划分为两个相邻的窗口结构,其中最大窗口的尺寸等于原始字符串长度的一半;
  2. 接下来通过函数判断两个窗口内的内容是否一致,若结果为一致,则返回true,并且此时最长重复子串的长度等于单个窗口长度的两倍,即2*i;若不一致,则继续调整窗口位置,调整范围受

全部评论 (0)

还没有任何评论哟~