Решаем и тестируем: максимум и минимум списка
Решение без тестов быстро ломается, поэтому добавим к задаче простые проверки.
Задача
Найти максимальный и минимальный элементы списка за один проход.
Решение
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) по памяти.
Проверка тестами
Хорошая привычка — проверять решение сразу на нескольких примерах, включая крайние случаи.
assert is_valid(True) is not None # базовая проверка вызова
assert is_valid(False) is not None # и второй случай
Такой минимум уже защищает от случайной ошибки при правках кода.
С добавлением проверок решение становится самодокументируемым — сразу видно, что код делает.
Related:
سكس بابا وماما - فيديوهات إباحية نادرة ومثيرة
Fidan Atalay OnlyFans Leaked Photo Gallery Collection
Проверяем решение тестами: подсчёт частот слов
Два способа решения: среднее значение списка
Два способа решения: шифр Цезаря
A step-by-step look at minimum and maximum of a list
Разбираем задачу: сортировка пузырьком
Abbyy.irl Fanfix Leaks: Bikini and Nude Photo Gallery
Проверяем решение тестами: подсчёт частот слов
سكس مترجم كامل بدقة عالية مع نجمات شهيرات في مشاهد نيك ساخنة