Dada uma sequência como argumento, produza o comprimento da (s) mais longa (s) substring (s) repetida (s) sobreposta (s) ou zero se não houver essa sequência.
Você pode assumir que a sequência de entrada não está vazia.
Exemplos
abcdefabc
: a substring abc
é repetida nas posições 1 e 7, portanto, o programa deve gerar 3
abcabcabcabcab
: abcabc
ou bcabca
ou cabcab
são repetidos, portanto, o programa deve gerar 6 . (a substring abcabcabcab
também é repetida, mas as ocorrências se sobrepõem, então não a aceitamos).
aaaaaaa
: aaa
é repetido nas posições 1 e 4, por exemplo, portanto, o programa deve gerar 3
abcda
: a
é repetido, então o programa deve gerar 1
xyz
: sem sequência repetida → 0
ababcabcabcabcab
: deve retornar 6
Isso é código-golfe , e o menor número de bytes vence.