Stable remove zeros через two pointers

EasyАлгоритмы
04:00
Лучше работает на десктопе
AlgorithmsTwo PointersStable Compaction
Реальный собес00:11:39-00:16:562026-02-04 13-14-02.mp3Страница собеса

Дан массив целых чисел values.

Нужно удалить из него все нули так, чтобы относительный порядок остальных элементов сохранился.

В тренажере функция должна вернуть компактный список без нулей. Концептуально решение должно соответствовать in-place compaction: один указатель читает вход, второй указывает позицию, куда записать следующий ненулевой элемент.

Сигнатура

def remove_zeros_compact(values: list[int]) -> list[int]:

Примеры

Пример 1

Вход:
values = [0,1,0,2,3,0]
Выход:[1,2,3]

Пример 2

Вход:
values = [4,5,6]
Выход:[4,5,6]

Пример 3

Вход:
values = [0,0,0]
Выход:[]
Консоль
Нажмите Run или Ctrl+Enter для запуска