Напишите программу, которая осуществляет «сжатие массива» – заменяет все повторяющиеся элементы нулями и перемещает все
Описание:
Для решения этой задачи необходимо создать программу, которая осуществляет сжатие массива. Сжатие массива заключается в замене всех повторяющихся элементов нулями и перемещении всех нулевых элементов в конец массива. При этом все оставшиеся элементы должны быть сохранены в начале массива в том же порядке, что и в исходном массиве.
Для решения этой задачи, мы можем воспользоваться следующим алгоритмом:
1. Создать пустой список (compressed_list).
2. Пройти по каждому элементу в исходном массиве.
3. Если элемент уже встречался ранее (повторяется), заменить его значением 0.
4. Если элемент еще не встречался (не повторяется), добавить его в compressed_list.
5. После прохода по всем элементам, добавить нули в compressed_list в соответствии с количеством повторяющихся элементов.
6. Вывести элементы compressed_list в одну строку, разделенные пробелами.
Пример использования:
Входные данные: 6 0 1 2 1 2 3
Шаги:
1. Создаем пустой список compressed_list.
2. Проходим по элементам входного массива:
— 0: добавляем 0 в compressed_list.
— 1: добавляем 1 в compressed_list.
— 2: добавляем 2 в compressed_list.
— 1: заменяем 1 на 0 в compressed_list.
— 2: заменяем 2 на 0 в compressed_list.
— 3: добавляем 3 в compressed_list.
3. Добавляем два нуля в compressed_list (количество повторяющихся элементов).
4. Выводим элементы compressed_list в одну строку, разделенные пробелами: 1 2 3 0 0.
Советы:
— Для реализации программы можно использовать цикл for и условные операторы if-else.
— Использование списков (list) упрощает добавление элементов и изменение их значений.
— Храните информацию о повторяющихся элементах для добавления нулей в конец массива.
Упражнение:
Напишите программу на Python, которая решает поставленную задачу.