Максимальная сумма подсписка?
Я запутался в этом вопросе из-за того, что он пытается задать.
Функция записиmssl()
(подсписок минимальной суммы), который принимает в качестве входных данных список целых чисел. Затем он вычисляет и возвращает сумму подсписка максимальной суммы входного списка. Подсписок максимальной суммы - это подсписок (срез) входного списка, чья сумма записей самая большая. Определяется, что пустой подсписок имеет сумму 0. Например, подсписок максимальной суммы в списке[4, -2, -8, 5, -2, 7, 7, 2, -6, 5]
является[5, -2, 7, 7, 2]
и сумма его записей19
.
Если бы я использовал эту функцию, она должна вернуть что-то похожее на
>>> l = [4, -2, -8, 5, -2, 7, 7, 2, -6, 5]
>>> mssl(l)
19
>>> mssl([3,4,5])
12
>>> mssl([-2,-3,-5])
0
Как я могу это сделать?
Вот моя текущая попытка, но она не дает ожидаемого результата:
def mssl(x):
' list ==> int '
res = 0
for a in x:
if a >= 0:
res = sum(x)
return res
else:
return 0