Dada una cadena s compuesta de letras minúsculas, como
aabaaababbbbaaba
y un entero positivo n , tal como 4
, genera una longitud n cadena t tal que cuando t se repite a la longitud de s , tienen tantos caracteres en común como sea posible. Para el ejemplo dado, la salida óptima sería aaba
, porque tiene trece caracteres en común con la cadena de destino:
s: aabaaababbbbaaba
t: aabaaabaaabaaaba (aaba)
^^^^^^^^ ^ ^^^^
y no es posible t tiene más. Sin embargo, para aaaaaab
, hay dos salidas posibles: aaaa
y aaba
, cada una de las cuales tiene 6 caracteres en común con la cadena de destino:
s: aaaaaab
t: aaaaaaaa (aaaa)
^^^^^^
s: aaaaaab
t: aabaaaba (aaba)
^^ ^^^^
Cualquiera aaaa
o aaba
puede ser emitido, o ambos si lo desea. Tenga en cuenta que s nunca se repite; el final a
en ambos valores repetidos de t simplemente se ignora.
Casos de prueba
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
Reglas
- Puede suponer que la entrada solo será una cadena no vacía de letras minúsculas y un entero positivo no mayor que la longitud de la cadena.
- Puede tomar las entradas en cualquier formato estándar y en cualquier orden.
- Puede generar una sola cadena, o más de una en forma de matriz, separadas por nuevas líneas o espacios, etc.
- Su código debe finalizar para cada caso de prueba en menos de 1 minuto en cualquier computadora bastante moderna.
- Este es el código de golf , así que haga su código lo más corto posible.
2 abb -> ba
donde se construye como (b)[ab]a
: los elementos principales (b)
se ignoran, [ab]
coinciden.