Минимум массива

тема: Основы · уровень: средний

Условие

Минимум массива

Дан массив из \(n\) чисел. Найди самое маленькое.

Входные данные

В первой строке \(n\) (\(1 \le n \le 100\)). Во второй — \(n\) целых чисел.

Выходные данные

Одно число — минимум массива.

Пример

Вход:

3
5 1 2

Выход:

1

Как решать — идея подхода

Приём: Линейный проход (поиск минимума)

Ключевое наблюдение: чтобы найти самый маленький элемент, не нужно сортировать массив. Достаточно сравнить все числа и запомнить наименьшее из увиденных.

Приём: линейный проход с «текущим ответом». Он работает, потому что минимум среди всех элементов обязательно встретится при просмотре массива, а операция min позволяет обновлять лучший кандидат сразу.

План решения:

Мини-сниппет обновления: m = a[0] for x in a[1:]: m = min(m, x)

Сложность: O(n) по времени и O(1) по памяти (кроме хранения входного массива).

Частая ошибка: инициализировать m нулём или «очень большим числом». Если в массиве все числа отрицательные, старт с 0 даст неверный ответ. Безопаснее начинать с первого элемента массива.

Решить задачу с автопроверкой на Python →

Куда дальше