String Compression (LeetCode 443) — сжатие строки in-place на Go

28 подписчиков

12+
12+

3 просмотра

23 дня назад

ПожаловатьсяНарушение авторских прав

28 подписчиков

12+
12+

3 просмотра

23 дня назад

ПожаловатьсяНарушение авторских прав
12+
12+

3 просмотра

23 дня назад

В этом видео разбираем задачу 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

Категория:

Разное