Задачи
June 20, 2023
Задача. Добавить нули
Задача. Дан массив целых чисел. Необходимо продублировать каждое вхождение нуля, сдвигая оставшиеся элементы вправо.
Примечание. Элементы, превышающие длину исходного массива, не записываются. Обратите внимание, что все изменения должны быть выполнены в исходном массиве.
Разбор
Приведем самое простое решение этой задачи, правда сложность алгоритма будет квадратичной. Попробуйте оптимизировать алгоритм самостоятельно.
Алгоритм
- В 1м цикле пройдем по исходному массиву и будем искать 0.
- Для каждого нулевого элемента запустим подцикл с конца массива до этого нулевого элемента, сдвигая элементы.
- Добавим 2й нулевой элемент и дополнительно сдвинем наш счетчик, чтобы не обрабатывать добавленный нулевой элемент.