Два способа решения: удаление дубликатов из списка
Разберём решение и посмотрим, как та же задача решается другим способом.
Задача
Убрать из списка повторы, сохранив порядок первого появления элементов.
Решение
def unique(arr: list) -> list:
seen = set()
result = []
for x in arr:
if x not in seen:
seen.add(x)
result.append(x)
return result
print(unique([1, 2, 2, 3, 1, 4]))
Как это работает
Множество seen отвечает за быструю проверку «встречался ли элемент», список result сохраняет порядок. Простое приведение к set() порядок бы не сохранило.
Пример работы
[1, 2, 3, 4]
Сложность
O(n) по времени и памяти.
Альтернативный подход
Ту же задачу часто решают иначе: например, через рекурсию вместо цикла или через стандартную библиотеку вместо ручной реализации. Альтернатива обычно короче, но первое «ручное» решение лучше показывает механику работы алгоритма. Полезно написать оба и сравнить на одинаковых тестах.
Выбор между решениями — это баланс читаемости и скорости: для учебной задачи важнее первый.
Related:
- itati joss desnuda
- 媚黑纹身
- htownliv
- anastangle
- anastangle
- Частые ошибки при решении: сумма цифр числа
- Пошаговый разбор: сортировка слиянием
- mila ruby nsfw
- سكس مصري بزاز - فيديو نيك مصري جديد بجودة عالية
- Два подхода: числа Фибоначчи
- Несколько вариантов решения: проверка палиндрома
- türk köylü sex filmi
- سكس حيحان
- Serendipity_121 Cuckold Hotwife Striptease Party Sex Gallery
- bokep indo godain istri temen lagi mandi
- Два подхода: проверка числа на простоту
- Sana Dark Night Elf Fantasy Anime Gallery
- margotandmarjorie
- hijab imut yang demen banget omek
- amelia_wet_angel
- Пишем решение с тестами: быстрая сортировка