最小距离在重复子串之间
Java
Hard
strings
任务 «最小距离在重复子串之间»
给定一个由小写拉丁字母组成的字符串 S,需要找到两个相同且不重叠的长度为 L 的子串的起始索引之间的最小距离,其中 L 是存在这样的子串的最大可能长度。如果不存在长度为 L 的相同且不重叠的子串,则输出 -1。距离是指第二个子串与第一个子串的起始索引之差。子串不得重叠(即它们的区间不能有公共字符)。限制条件:字符串长度不超过 10^5。
输入格式
<p>给定一个由小写拉丁字母 (a-z) 组成的字符串 S。字符串长度在 1 到 100000 之间。</p>
输出格式
一个整数——两个长度最大为L的相同且不重叠的子串的起始索引之间的最小距离,如果不存在这样的子串,则输出-1。
示例
示例 1
输入
aababc
输出
2
示例 2
输入
ababa
输出
2
示例 3
输入
abcdefg
输出
-1
main.java