symbols. Упакуйте его так: идите по массиву и каждую серию одинаковых символов подряд замените самим символом, а если серия длиннее одного символа — ещё и её длиной. Длина записывается по цифрам, каждая цифра — отдельный элемент: серия из 12 символов b превращается в "b", "1", "2".
Упакованный результат нужно записать в начало того же массива symbols и вернуть его длину. Что останется в массиве после этой длины, неважно.
Попробуйте обойтись O(1) дополнительной памяти.symbols=["x", "x", "x", "y", "z", "z"] → 5
Серии xxx, y и zz упаковываются в x3yz2 — 5 символов.
symbols=["q"] → 1
Одиночный символ остаётся как есть.
symbols=["k", "k", "k", "k", "k", "k", "k", "k", "k", "k", "k", "m"] → 4
Одиннадцать k подряд дают k11 — длина записывается двумя отдельными символами "1" и "1". Вместе с m получается k11m, 4 символа.
symbols=["x", "x", "x", "y", "z", "z"]
5
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 28 тестов на сервере, включая скрытые.