Максимальная подмассив (Kadane)

MediumAlgo
05:00
Лучше работает на десктопе
Dynamic ProgrammingArrays

Дан массив целых чисел nums. Найдите непрерывный подмассив (содержащий хотя бы один элемент) с максимальной суммой.

Сигнатура

def max_subarray(nums: list[int]) -> int:

Примеры

max_subarray([-2, 1, -3, 4, -1, 2, 1, -5, 4]) → 6
max_subarray([1]) → 1
max_subarray([5, 4, -1, 7, 8]) → 23

Constraints

- 1 ≤ len(nums) ≤ 10⁵
- -10⁴ ≤ nums[i] ≤ 10⁴

Примеры

Пример 1

Вход:
nums = [-2,1,-3,4,-1,2,1,-5,4]
Выход:6

Пример 2

Вход:
nums = [1]
Выход:1

Пример 3

Вход:
nums = [5,4,-1,7,8]
Выход:23
Консоль
Нажмите Run или Ctrl+Enter для запуска