10th November 2026

Типичные ошибки при решении: максимум и минимум списка

Каждая учебная задача таит пару-тройку грабель; вот они.

Задача

Найти максимальный и минимальный элементы списка за один проход.

Решение


def min_max(arr: list[int]) -> tuple[int, int]:
    lo = hi = arr[0]
    for x in arr[1:]:
        if x < lo:
            lo = x
        elif x > hi:
            hi = x
    return lo, hi


print(min_max([4, 7, 1, 9, 3]))

Как это работает

Один проход по списку: каждое число сравнивается с текущими минимумом и максимумом. Это вдвое быстрее двух отдельных проходов.

Пример работы


(1, 9)

Сложность

O(n) по времени, O(1) по памяти.

Частые ошибки

1. Не обрабатывать крайние случаи. Пустой ввод, ноль, отрицательные числа — именно там решение чаще всего ломается. 2. Смешивать типы данных. Строки и числа ведут себя по-разному; неявное приведение типов — источник неочевидных багов. 3. Писать код без проверки на маленьких примерах. Прогоните решение вручную на 2-3 значениях, прежде чем считать задачу решённой.

Заметив такую ошибку в чужом коде, вы уже мыслите как ревьюер.


Related:

Шаг за шагом: переворот строки

Ловушки новичков при решении: сортировка пузырьком

uflashbrasil

href="//avdc.org/wp-content/uploads/event-manager-uploads/event_banner/2026/11/film-porno-ebony-xvideos-com-1fdec6.pdf">film porno ebony xvideos-com

Рассматриваем задачу: сумма цифр числа

en av4us - Chinese Teens Live Chat Adult Photo Gallery

lara croft sacred beasts

bd company models

martina olvr xvideo