String Compression (LeetCode 443) — сжатие строки in-place на Go
В этом видео разбираем задачу LeetCode 443 “String Compression”. Дан массив символов chars, и нужно сжать его по следующему правилу: Для каждой группы подряд идущих одинаковых символов: - если длина группы 1 — записываем только сам символ; - если длина больше 1 — записываем символ и затем длину группы (по цифрам). - Сжатый результат нужно записать в этот же массив chars (in-place), а функция должна вернуть новую длину. Доп.память — только O(1), без выделения нового массива результата. В видео показываю решение через два указателя read и write: - read идёт по массиву и находит группы одинаковых символов; - для каждой группы считаем count, записываем один раз текущий символ в chars[write], - в конце возвращаем write как новую длину.
Название:
String Compression (LeetCode 443) — сжатие строки in-place на Go
Категория:
Разное