Bei einem String s aus Kleinbuchstaben bestehen, wie zum Beispiel
aabaaababbbbaaba
und eine positive ganze Zahl n , wie der 4Ausgang A längen- n Zeichenfolge t , dass , wenn t auf die Länge der wiederholt s , sie haben so viele Zeichen wie möglich gemeinsam. Für das gegebene Beispiel wäre die optimale Ausgabe aaba, da es dreizehn Zeichen gemeinsam mit der Zielzeichenfolge hat:
s: aabaaababbbbaaba
t: aabaaabaaabaaaba (aaba)
^^^^^^^^ ^ ^^^^
und kein mögliches t hat mehr. Es aaaaaabgibt jedoch zwei mögliche Ausgaben: aaaaund aaba, die jeweils 6 Zeichen gemeinsam mit der Zielzeichenfolge haben:
s: aaaaaab
t: aaaaaaaa (aaaa)
^^^^^^
s: aaaaaab
t: aabaaaba (aaba)
^^ ^^^^
Entweder aaaaoder aabakann ausgegeben werden, oder beides, wenn Sie möchten. Beachten Sie, dass s nie wiederholt wird. Das Nachlaufen abeider Wiederholungswerte von t wird einfach ignoriert.
Testfälle
Inputs -> Valid outputs
1 a -> a
1 aa -> a
2 aa -> aa
1 ab -> a b
2 ab -> ab
1 abb -> b
2 abb -> ab bb
2 ababa -> ab
2 abcba -> ab
2 aabbbbb -> bb (ab is not a valid output here)
3 aababba -> aab abb
3 aababbaa -> aab
3 asdasfadf -> asf
3 asdasfadfsdf -> asf adf
2 abcdefghijklmnopqrstuvwxyzyx -> yx
2 supercalifragilisticexpialidocious -> ic ii
3 supercalifragilisticexpialidocious -> iri ili ioi
4 supercalifragilisticexpialidocious -> scii
5 supercalifragilisticexpialidocious -> iapic
2 eeeebaadbaecaebbbbbebbbbeecacebdccaecadbbbaceebedbbbddadebeddedbcedeaadcabdeccceccaeaadbbaecbbcbcbea -> bb be
10 bbbbacacbcedecdbbbdebdaedcecdabcebddbdcecebbeeaacdebdbebaebcecddadeeedbbdbbaeaaeebbedbeeaeedadeecbcd -> ebbbdbeece ebdbdbeece
20 aabbbaaabaaabaaaabbbbabbbbabbbabbbbbabbaaaababbbaababbbaababaaaabbaaabbaabbbabaaabbabbaaabbaaaaaaaba -> aabbbbaaabbabbbaabba
Regeln
- Sie können davon ausgehen, dass die Eingabe immer nur eine nicht leere Zeichenfolge aus Kleinbuchstaben und eine positive Ganzzahl ist, die nicht länger als die Zeichenfolge ist.
- Sie können die Eingaben in jedem Standardformat und in jeder Reihenfolge vornehmen.
- Sie können eine einzelne Zeichenfolge oder mehrere Zeichenfolgen in Form eines Arrays ausgeben, die durch Zeilenumbrüche, Leerzeichen usw. getrennt sind.
- Auf einem modernen Computer muss Ihr Code für jeden Testfall in weniger als 1 Minute fertig sein.
- Das ist Code-Golf , also mach deinen Code so kurz wie möglich.
2 abb -> baWenn sie wie folgt aufgebaut sind (b)[ab]a: Führende Zeichen werden (b)ignoriert und [ab]stimmen überein.