Вступить в клуб →
средняяpythonРекурсия и динамическое программирование

max_subarray_sum: максимальная сумма непустого подотрезка

Напишите функцию max_subarray_sum(nums: list[int]) -> int.

Вход. Список целых чисел nums — могут быть отрицательные и нули.

Выход. Максимальная сумма непрерывного непустого подотрезка.

Поведение на краевых входах.

  • Пустой список — вернуть 0 (подотрезка нет вовсе, это отдельная договорённость).
  • Один элемент — вернуть его самого, даже если он отрицательный.
  • Если все элементы отрицательные, ответ равен максимальному элементу: подотрезок обязан быть непустым, поэтому вернуть 0 нельзя. Для [-5, -2, -9] ответ -2.

Требование к сложности. Один проход по списку, O(n).

заготовка решения

def max_subarray_sum(nums: list[int]) -> int:
    # ваш код
    pass

🔒 Проверка ответа — для участников клуба

  • Автотесты прямо в браузере
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела