Top.Mail.Ru

Перечень алгоритмов

6. Поиск максимального элемента в списке

Дан список

a = [12, 15, 2, 80, 40]

Способ № 1. Использование функции max():

mx = max(a)
print ("max=", mx )
# max= 80

Находится первый максимальный элемент.

Временная сложность: O (n)

 

Способ № 2. Использование метода sort():

Отсортируем список в порядке возрастания и выведем последний элемент в  списке

a.sort()
print ( "max=", a[-1] )
# max= 80

Выводится последний максимальный элемент.

Временная сложность: O (nlog n)

 

Способ № 3.Использование цикла for

В цикле просматриваем все элементы массива один за другим. Если очередной элемент массива больше, чем максимальный из предыдущих (находящийся в переменной mx), запомним новое значение максимального элемента в mх

  • В качестве начального значения переменной mx, в общем случае, необходимо брать значение первого элемента mx = a[0]
  • Если известно минимальное значение обрабатываемого массива, то переменной mx следует присвоить - значение нижней границы диапазона возможных значений

Вариант №1

mx = a[0]
for x in a:
  
if x > mx:
       mx = x
print ("max=", mx )
# max= 80

if a[i] > mx: находится первый   максимальный элемент.

if a[i] >= mx: находится последний максимальный элемент.

Временная сложность: O (n)

Вариант №2

mx = a[0]
for i in range(len(a)):
  
if a[i] > mx:
       mx = a[i]
print ("max=", mx )
# max= 80

if a[i] > mx: находится первый   максимальный элемент.

if a[i] >= mx: находится последний максимальный элемент.

Временная сложность: O (n)

Вы можете найти минимальный элемент списка, используя в рассмотренных способах функцию min(), функцию sort() или цикл for.