12th November 2026

Разбираем задачу: удаление дубликатов из списка

Предлагаю решить задачу вместе: без спешки, с объяснением каждой строки.

Задача

Убрать из списка повторы, сохранив порядок первого появления элементов.

Решение


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:

Частые ошибки при решении: проверка палиндрома

Проверяем решение тестами: решето Эратосфена

nancy cute xxx

Пошаговый разбор: шифр Цезаря

href="//itwccst.com/subhashree-sahu-viral-video?f=instapaper">subhashree sahu viral video

Gabbileelive Nude Gallery: Amateur TikTok Star Pics and Clips

Sophie VIP OnlyFans Leak March 2025 Photo Gallery Set

Проверяем решение тестами: бинарный поиск

Ariaboob Leaked Photos: Asian Babe with Big Tits Shows Off Her Curves