Дана строка s, состоящая из строчных букв, таких как
aabaaababbbbaaba
и положительное целое число п , такие , как 4
, выводить длина- п строка т таким образом, что , когда т повторяется до длины с , они имеют как много символов в часто , как это возможно. Для данного примера оптимальный результат будет aaba
, потому что у него тринадцать общих знаков с целевой строкой:
s: aabaaababbbbaaba
t: aabaaabaaabaaaba (aaba)
^^^^^^^^ ^ ^^^^
и никакой возможности т больше. Тем не менее, для aaaaaab
, есть два возможных выхода: aaaa
и aaba
, каждый из которых имеет 6 общих символов с целевой строкой:
s: aaaaaab
t: aaaaaaaa (aaaa)
^^^^^^
s: aaaaaab
t: aabaaaba (aaba)
^^ ^^^^
Либо aaaa
или aaba
может быть выведен, либо оба, если хотите. Обратите внимание, что s никогда не повторяется; трейлинг a
в обоих повторяющихся значениях t просто игнорируется.
Контрольные примеры
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
правила
- Вы можете предположить, что входные данные будут только непустой строкой из строчных букв и положительным целым числом, не превышающим длину строки.
- Вы можете принимать входные данные в любом стандартном формате и в любом порядке.
- Вы можете вывести одну строку или несколько строк в виде массива, разделенных символами новой строки или пробелами и т. Д.
- Ваш код должен завершиться для каждого теста менее чем за 1 минуту на любом достаточно современном компьютере.
- Это код-гольф , поэтому сделайте ваш код как можно короче.
2 abb -> ba
где он построен как (b)[ab]a
: ведущий (b)
игнорируется, [ab]
совпадают.