Задания № 24, 25 · ЕГЭ

Поиск минимума и максимума

Алгоритмы нахождения наименьшего и наибольшего элементов последовательности
2 мин чтенияСложность: Обновлено 29 сентября 2026

Поиск минимума и максимума — это последовательный просмотр элементов, во время которого запоминаются наименьший и наибольший найденные элементы. Такой алгоритм позволяет найти оба значения за один перебор элементов массива.

Поиск минимума и максимума
Поиск минимума — нахождение элемента последовательности, не превосходящего все остальные элементы. Поиск максимума — нахождение элемента, не меньшего всех остальных. Обычно для этого хранят текущие значения минимума и максимума и сравнивают с ними каждый следующий элемент.

Как работает алгоритм

Сначала первый элемент принимают за текущие минимум и максимум. Затем последовательно рассматривают остальные элементы. Если очередной элемент меньше текущего минимума, минимум заменяют; если он больше текущего максимума, заменяют максимум. Такая инициализация корректна даже тогда, когда все числа отрицательные.

\[\min(a_1,\ldots,a_n)=\min(\min(a_1,\ldots,a_{n-1}),a_n),\qquad \max(a_1,\ldots,a_n)=\max(\max(a_1,\ldots,a_{n-1}),a_n)\]
Python
a = [7, -2, 5, -9, 3]
minimum = a[0]
maximum = a[0]

for x in a[1:]:
    if x < minimum:
        minimum = x
    if x > maximum:
        maximum = x

print(minimum, maximum)  # -9 7
№
Короткий пример

Для последовательности \(4, -1, 6, 2\) сначала min = max = 4. После просмотра \(-1\) минимумом становится \(-1\), после просмотра \(6\) максимумом становится \(6\). Число \(2\) ничего не изменяет. Ответ: минимум \(-1\), максимум \(6\).

!
Частая ошибка

Нельзя начинать поиск с нуля: если все элементы положительные, минимум может оказаться больше нуля, а если все отрицательные, максимум может быть меньше нуля. Используйте первый элемент последовательности или специальные бесконечные значения.

Проверь себя

Как правильно найти минимум в последовательности \(-5, -2, -8\)?

Алгоритм требует \(n-1\) сравнений для каждого из двух значений и имеет линейную сложность \(O(n)\). Найденные минимум и максимум можно использовать дальше, например передать в сортировку выбором или сравнить с результатом поиска в массиве.

Главное за минуту

Главное

  • Минимум — наименьший, а максимум — наибольший элемент последовательности.
  • Начинайте с первого элемента и обновляйте значения при каждом сравнении.
  • Один проход по \(n\) элементам имеет сложность \(O(n)\).