В Python используйте max(values): он просматривает список один раз, за O(n) времени и O(1) дополнительной памяти. Для пустого списка заранее выберите поведение: ошибка или default.
Как найти максимальный элемент в списке?
В Python используйте max(values): он просматривает список один раз, за O(n) времени и O(1) дополнительной памяти. Для пустого списка заранее выберите поведение: ошибка или default.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
В Python используйте max(values): он просматривает список один раз, за O(n) времени и O(1) дополнительной памяти. Для пустого списка заранее выберите поведение: ошибка или default.
Примеры:
print(max([4, 9, 2])) # 9
print(max([], default=None)) # None
Без default пустой iterable вызывает ValueError. Элементы должны поддерживать нужное сравнение; для объектов задают key, например max(users, key=lambda u: u.age). Это возвращает исходный объект, а не значение ключа. Сортировать список ради одного максимума избыточно: сортировка обычно требует O(n log n).