Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/29: Рейтинг темы: голосов - 29, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 16.07.2022
Сообщений: 9

Удалить из массива все повторяющиеся элементы

16.07.2022, 13:38. Показов 6715. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, помогите разобрать задачу из Яндекс контест

Дан упорядоченный по неубыванию массив целых 32-разрядных чисел. Требуется удалить из него все повторения.

Желательно получить решение, которое не считывает входной файл целиком в память, т.е., использует лишь константный объем памяти в процессе работы.

Input format
Первая строка входного файла содержит единственное число n, n ≤ 1000000.

На следующих n строк расположены числа — элементы массива, по одному на строку. Числа отсортированы по неубыванию.

Output format
Выходной файл должен содержать следующие в порядке возрастания уникальные элементы входного массива.

Python
1
2
3
4
5
6
7
8
9
n = int(input())
res = []
temp_num = - 1
for i in range(n):
    num = int(input())
    if num != temp_num:
        res.append(num)
        temp_num = num
[print(k) for k in res]
Такой код не проходит все тесты. Не могу понять, в чём причина
А если вводимое число в цикле не приводить к int, то всё отлично

Python
1
2
3
4
5
6
7
8
9
n = int(input())
res = []
temp_num = - 1
for i in range(n):
    num = input()
    if num != temp_num:
        res.append(num)
        temp_num = num
[print(k) for k in res]
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.07.2022, 13:38
Ответы с готовыми решениями:

Удалить из массива все повторяющиеся элементы
Удалить из массива все повторяющиеся элементы, оставив их первые вхождения, т. е. в массиве должны остаться только различные элементы

Взять строку, удалить из нее все повторяющиеся элементы и вывести это в виде отсортированного списка
Взять строку, удалить из нее все повторяющиеся элементы и вывести это в виде отсортированного списка. Сделать это надо двумя способами:...

Из произвольного списка удалить все повторяющиеся элементы
Общая задача такая: Написать программу, которая из произвольного списка удалит из него все повторяющиеся элементы. Написал вроде без...

7
Эксперт Python
8849 / 4501 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
16.07.2022, 14:03
32-х разрядное число может содержать ведущие нули. При приведении к int они "исчезают"...
1
1 / 1 / 0
Регистрация: 16.07.2022
Сообщений: 9
16.07.2022, 14:11  [ТС]
Gdez, Спасибо, за разъяснение. Вы сохранили мои нервы)
0
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,759
16.07.2022, 16:25
Pan_Lotana, зачем вы создаете список, если в задании явно сказано:
Цитата Сообщение от Pan_Lotana Посмотреть сообщение
Желательно получить решение, которое не считывает входной файл целиком в память
Как-то неэкономно с точки зрения памяти.
Почему бы сразу вместо append не делать print?
1
1 / 1 / 0
Регистрация: 16.07.2022
Сообщений: 9
16.07.2022, 18:16  [ТС]
u235, Тогда ведь при каждой итерации будет и input() и print(). То есть после ввода очередного числа при выполнении условия будет сразу вывод на экран. По условию должна выводиться последовательность уникальных элементов по возрастанию
0
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,759
16.07.2022, 18:45
Цитата Сообщение от Pan_Lotana Посмотреть сообщение
при выполнении условия
Но ведь это и нужно..
0
1 / 1 / 0
Регистрация: 16.07.2022
Сообщений: 9
16.07.2022, 19:13  [ТС]
u235, по итогу выполнения должен быть выведен список уникальных элементов. если заменим append на print, то будет чередование ввода и вывода элемента с каждой итерацией. Мне нужно на входе ввести весь список, на выходе получить список уникальных элементов
1
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,759
16.07.2022, 19:29
Pan_Lotana, теперь ясно.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.07.2022, 19:29
Помогаю со студенческими работами здесь

Из массива удалить все повторяющиеся элементы
Из заданного целочисленного массива удалить все повторяющиеся элементы, оставив только их первые вхождения, т.е. из заданного массива...

Удалить все повторяющиеся элементы массива
1) Удалить все повторяющиеся элементы массива, оставив только их первые вхождения, то есть получить массив различных элементов 2) Удалить...

Удалить все повторяющиеся элементы массива
Дан массив из 20 элементов удалите все повторяющиеся элементы.

Удалить из массива все повторяющиеся элементы
Удалить из массива все повторяющиеся элементы, оставив их первые вхождения, т. е. в массиве должны остаться только различные элементы.

Удалить все повторяющиеся элементы массива
Удалить все повторяющиеся элементы массива. Как сделать, чтобы элементы удалялись, а не выводились по 1 разу? #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru