Минимум массива
Условие
Минимум массива
Дан массив из \(n\) чисел. Найди самое маленькое.
Входные данные
В первой строке \(n\) (\(1 \le n \le 100\)). Во второй — \(n\) целых чисел.
Выходные данные
Одно число — минимум массива.
Пример
Вход:
3
5 1 2
Выход:
1Как решать — идея подхода
Приём: Линейный проход (поиск минимума)
Ключевое наблюдение: чтобы найти самый маленький элемент, не нужно сортировать массив. Достаточно сравнить все числа и запомнить наименьшее из увиденных.
Приём: линейный проход с «текущим ответом». Он работает, потому что минимум среди всех элементов обязательно встретится при просмотре массива, а операция min позволяет обновлять лучший кандидат сразу.
План решения:
- Считай
nи список изnцелых чисел. - Заведи переменную
m— текущий минимум. Самый надёжный старт:m = a[0](первый элемент массива). - Пройди по остальным элементам и каждый раз обновляй минимум:
- если текущее число меньше
m, присвойm = число. - эквивалентно:
m = min(m, x). - После прохода выведи
m.
Мини-сниппет обновления: m = a[0] for x in a[1:]: m = min(m, x)
Сложность: O(n) по времени и O(1) по памяти (кроме хранения входного массива).
Частая ошибка: инициализировать m нулём или «очень большим числом». Если в массиве все числа отрицательные, старт с 0 даст неверный ответ. Безопаснее начинать с первого элемента массива.
Решить задачу с автопроверкой на Python →
Куда дальше
- Школьный этап ВсОШ по информатике — как устроен первый этап и план подготовки за четыре недели
- На программиста по олимпиаде: путь по классам — что даёт диплом, куда с ним берут на ИТ-направления и почему решает 9 класс
- Вердикты судьи: WA, TLE, RE, PE, CE — что значит каждый код проверяющей системы и где искать причину