Собесов

String Compression — сжатие строки повторами в RLE

АлгоритмыДва указателяСредняяMiddle

Условие

Дан массив символов chars. Сожмите его «на месте» по правилу RLE (run-length encoding): каждый блок одинаковых подряд идущих символов заменяется на сам символ, за которым (если длина блока ≥ 2) идут цифры этой длины. Например:

['a','a','b','b','c','c','c'] -> ['a','2','b','2','c','3'],   длина = 6
['a']                          -> ['a'],                      длина = 1
['a','b','b','b','b','b','b','b','b','b','b','b','b'] -> ['a','b','1','2'], длина = 4

Верните длину сжатого массива, изменив chars в его первых k ячейках.

Дополнительная память — O(1).

Хочешь увидеть разбор?

Зарегистрируйся бесплатно — откроется развёрнутое решение этой задачи и ещё 4 на выбор.

Зарегистрироваться и увидеть разбор
Уже есть аккаунт? Войти