Python. Простые алгоритмы
- Python. Простые алгоритмы
- Просмотров: 2603
7. Поиск второго по величине числа в списке
Дан список
a = [12, 15, 2, 80, 40]
Способ № 1. Использование сортировки
Отсортируем список в порядке возрастания и выведем предпоследний элемент в списке.
a = [12, 15, 2, 80, 40]
a.sort()
print("второй по величине=", a[-2])
# второй по величине= 40
Временная сложность: O (nlog n)
Способ № 2. Использование генератора списка
b = [x for x in a if x < max(a)]
print("второй по величине=", max(b))
# второй по величине= 40
Временная сложность: O (n)
Способ № 3.Использование функции enumerate()
mx=max(a)
b=[x for i,x in enumerate(a) if x < mx]
print("второй по величине=", max(b))
# второй по величине= 40
Временная сложность: O (n)
Способ № 4.Использование цикла for функции max()
mx2 = 0
mx = min(a)
for x in a:
if x > mx:
mx2 = mx
mx = x
else:
mx2 = max(mx2, x)
print("второй по величине=", mx2)
# второй по величине= 40
Временная сложность: O (n)
Вы можете найти второе минимальной число списка, используя в рассмотренных способах функцию min(), функцию sort() или цикл for.