Perl 'Expert' Quiz-of-the-Week #14
Mark Jason Dominus <[email protected]> Wed, 11 Jun 2003 23:23:26 -0400
| Newsgroups | gmane.comp.lang.perl.qotw.quiz-of-the-week |
|---|---|
| Organization | Plover Systems |
| Message-ID | <[email protected]> |
IMPORTANT: Please do not post solutions, hints, or other spoilers
until at least 60 hours after the date of this message.
Thanks.
IMPORTANTE: Por favor, no enviéis soluciones, pistas, o cualquier otra
cosa que pueda echar a perder la resolución del problema hasta
que hayan pasado por lo menos 60 horas desde el envío de este
mensaje. Gracias.
IMPORTANT: S'il vous plaît, attendez au minimum 60 heures après la
date de ce message avant de poster solutions, indices ou autres
révélations. Merci.
WICHTIG: Bitte schicken Sie keine Lösungen, Tipps oder Hinweise für
diese Aufgabe vor Ablauf von 60 Stunden nach dem Datum dieser
Mail. Danke.
BELANGRIJK: Stuur aub geen oplossingen, hints of andere tips in de
eerste 60 uur na het verzendingstijdstip van dit
bericht. Waarvoor dank.
VNIMANIE: Pozhalujsta ne shlite reshenija, nameki na reshenija, i
voobshe lyubye podskazki v techenie po krajnej mere 60 chasov
ot daty etogo soobshenija. Spasibo.
Qing3 Zhu4Yi4: Qing3 Ning2 Deng3Dao4 Jie1Dao4 Ben3 Xin4Xi2 Zhi1Hou4 60
Xiao3Shi2, Zai4 Fa1Biao3 Jie3Da2, Ti2Shi4, Huo4 Qi2Ta1 Hui4
Xie4Lou4 Da2An4 De5 Jian4Yi4. Xie4Xie4.
I thought I wasn't going to get around to doing an Expert quiz, but
I've got a little extra time before I have to leave for the airport,
and a nice short question to ask.
Manufacture a function, 'repeated_substring'. The argument to the
function is a string. The function should return the longest
substring of the argument that appears at least twice. For example,
given "123 1234", the function should return "123".
If there is more than one repeated substring of maximum length, the
function may return any of the substrings. If there is no repeated
substring, the function should return either undef or an empty string.
The repetitions may *not* overlap. For example, "ana" is *not*
a repeated substring of "banana". The longest repeated substrings in
"banana" are "an" and "na".
The function should be efficient, even for very large input strings.