Distancia mínima entre subcadenas repetidas
Java
Hard
strings
Tarea «Distancia mínima entre subcadenas repetidas»
Se da una cadena S compuesta por letras minúsculas del alfabeto latino. Es necesario encontrar la distancia mínima entre los índices iniciales de dos subcadenas idénticas y no superpuestas de longitud L, donde L es la longitud máxima posible para la cual existen dichas subcadenas. Si no hay subcadenas idénticas y no superpuestas de longitud L, mostrar -1. La distancia es la diferencia entre los índices iniciales de la segunda y la primera subcadena. Las subcadenas no deben superponerse (es decir, sus intervalos no tienen caracteres en común). Restricciones: longitud de la cadena hasta 10^5.
Formato de entrada
Una cadena S compuesta por letras minúsculas del alfabeto latino (a-z). La longitud de la cadena es de 1 a 100000.
Formato de salida
Un número entero: la distancia mínima entre los índices iniciales de dos subcadenas idénticas y no superpuestas de la longitud máxima posible L, o -1 si no existen dichas subcadenas.
Ejemplos
Ejemplo 1
ENTRADA
aababc
SALIDA
2
Ejemplo 2
ENTRADA
ababa
SALIDA
2
Ejemplo 3
ENTRADA
abcdefg
SALIDA
-1
main.java