Kürzlich gab es eine Frage zu Stack Overflow, bei der das OP versuchte, eine Funktion zu schreiben, um das Wort in einer Zeichenfolge mit den am häufigsten wiederholten Buchstaben zu finden. Es ist natürlich nicht schwer, einen in Sekunden zu schreiben, und ich habe einen zum Spaß so kurz wie möglich in Javascript geschrieben . Aber ich bin kein Experte für Code-Golf, also frage ich mich, wie viel kürzer dieses einfache Programm sein kann!
Herausforderung
Schreiben Sie ein Programm oder eine Funktion, die eine Wortfolge aufnimmt, und geben Sie das Wort mit den sich am häufigsten wiederholenden Einzelbuchstaben zurück oder drucken Sie es aus.
Regeln:
Wählen Sie das Wort mit der größten Anzahl an Wiederholungs einzelne Buchstaben (siehe Beispiele unten)
Wenn kein Wort sich wiederholende Buchstaben enthält, geben Sie -1 zurück.
Wenn zwei Wörter die gleiche maximale Anzahl sich wiederholender Buchstaben haben, wählen Sie das Wort, das näher am Anfang der Zeichenfolge liegt.
Die kürzeste Übermittlung in Bytes gewinnt.
Eingang
Nehmen Sie als Eingabe eine Zeichenfolge, die aus einem oder mehreren durch Leerzeichen getrennten Wörtern besteht. Die Eingabe kann über STDIN (oder die nächstgelegene Alternative), Befehlszeilenparameter oder Funktionsargumente erfolgen.
Ausgabe
Drucken Sie die Ausgabe an STDOUT, um sie zurückzugeben.
Beispiele
Betrachten Sie die Zeichenfolge aaabbb cccc
. Dies enthält zwei Wörter: aaabbb
und cccc
. Das Wort aaabbb
hat 3 a
und 3 b
und cccc
hat 4 c
. Die maximale Anzahl wiederholter Buchstaben in aaabbb
ist also 3 und die maximale Anzahl in cccc
4. Wir möchten das Wort mit der maximalen Anzahl wiederholter Einzelbuchstaben auswählen, daher sollte die Ausgabe für aaabbb cccc
sein cccc
.
Andere Testfälle:
Today, is the greatest day ever! --> greatest
This is a great day --> -1
aaabbb cccc --> cccc
ever
aabb
hat 2 wiederholte Buchstaben. Es wird aaaabb
davon ausgegangen, dass 4 wiederholte Buchstaben (2., 3., 4. a
, 2. b
) oder 2 wiederholte Buchstaben ( a
und b
) vorhanden sind.