У меня есть строка s
. Я беру все четные символы строки s
и толкаю их вперед, а все нечетные символы идут назад. Затем я объединяю строку s
.
Теперь я хочу сделать это N-times
, однако код, который я использую, с треском проваливается для длинных строк и N
превышает миллиард.
def n_iters(s, n):
for i in range(n):
s = s[::2] + s[1::2]
return s
Есть идеи, как это оптимизировать?
Примером, для которого код не выполняется, будет строка s
длиной 8000000
и N = 100000000
.