Удаление нулей с сохранением порядка
Условие задачи
Дан массив целых чисел values.
Нужно удалить из него все нули так, чтобы относительный порядок остальных элементов сохранился.
В тренажере функция должна вернуть компактный список без нулей. Концептуально решение должно соответствовать in-place compaction: один указатель читает вход, второй указывает позицию, куда записать следующий ненулевой элемент.
Сигнатура
def remove_zeros_compact(values: list[int]) -> list[int]:Ваше решение
Идея решения
Держим индекс write — позицию следующего оставляемого элемента.
Идем по исходному списку слева направо. Если текущий элемент ненулевой, записываем его в values[write] и двигаем write. После прохода все нужные элементы лежат в префиксе values[:write] в исходном порядке.
