Уникальные элементы
Сначала считаем частоты, затем выводим одиночные элементы в исходном порядке.
Как к ней подойти
Потренируйтесь хранить последовательность значений и обращаться к нужным элементам списка.
Список хранит элементы в определённом порядке. Прежде чем менять его, решите, нужны ли исходные индексы и можно ли пройти по данным один раз. При удалении элементов будьте внимательны: индексы сдвигаются.
Словарь позволяет посчитать все частоты за один проход. Второй проход сохраняет исходный порядок.
Проверьте перед запуском
- Множество удаляет повторы, но не отличает одиночные значения от повторяющихся.
- Сортировка нарушит требуемый порядок.
Сравните свой подход
Ниже - готовое решение, другой способ, если он есть, и важные детали проверки.
Ваше принятое решение
Рекомендуемое решение: Таблица частот
Словарь позволяет посчитать все частоты за один проход. Второй проход сохраняет исходный порядок.
a = list(map(int, input().split()))
counts = {}
for x in a:
counts[x] = counts.get(x, 0) + 1
print(*(x for x in a if counts[x] == 1))
Время: O(n) в среднем. Память: O(n) для списка, частот и аргументов вывода.
Другой способ: Подсчёт каждого значения
Метод count каждый раз проверяет весь список. Код короткий, но подходит только для небольших входов.
a = list(map(int, input().split()))
for x in a:
if a.count(x) == 1:
print(x, end=' ')
Время: O(n²). Память: O(n) для исходного списка; O(1) дополнительной памяти.