C++ Программа для поиска самого большого элемента в массиве

Опубликовано: 10 Января, 2023

Учитывая массив arr размера N , задача состоит в том, чтобы найти самый большой элемент в данном массиве.

Пример:

Input: arr[] = {10, 20, 4}
Output: 20

Input : arr[] = {20, 10, 20, 4, 100}
Output : 100

Подход 1 — Линейный обход. Один из самых простых и основных подходов к решению этой проблемы — просто пройтись по всему списку и найти среди них максимум.

Выполните следующие шаги, чтобы реализовать эту идею:

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

Ниже приведена реализация вышеуказанного подхода:

Временная сложность: O(N), чтобы полностью пройти массив.
Вспомогательное пространство: O(1), так как создается только дополнительная переменная, которая займет O(1) пространство.

Подход 2: использование библиотечной функции. Большинство языков имеют соответствующую встроенную функцию типа max() для поиска максимального элемента, например std::max_element в C++. Мы можем использовать эту функцию, чтобы напрямую найти максимальный элемент. 

Ниже приведена реализация вышеуказанного подхода:

Временная сложность: O(N), так как встроенная функция max_element() занимает O(N) времени.
Вспомогательное пространство: O(1), так как создается только дополнительная переменная, которая займет O(1) пространство.