Maksymalna suma podlisty?
Z tym pytaniem zaczynam się mylić z tym, o co próbuje zapytać.
Funkcja zapisumssl()
(minimalna suma podlisty), która przyjmuje jako wejściową listę liczb całkowitych. Następnie oblicza i zwraca sumę podlisty maksymalnej sumy listy wejściowej. Sublista maksymalnej sumy jest podlistą (plasterkiem) listy wejściowej, której suma wpisów jest największa. Pusta podlista ma zdefiniowaną sumę 0. Na przykład podlista maksymalnej sumy listy[4, -2, -8, 5, -2, 7, 7, 2, -6, 5]
jest[5, -2, 7, 7, 2]
a suma jego wpisów jest19
.
Gdybym używał tej funkcji, powinien zwrócić coś podobnego do
>>> l = [4, -2, -8, 5, -2, 7, 7, 2, -6, 5]
>>> mssl(l)
19
>>> mssl([3,4,5])
12
>>> mssl([-2,-3,-5])
0
Jak mogę to zrobić?
Oto moja obecna próba, ale nie przynosi oczekiwanego rezultatu:
def mssl(x):
' list ==> int '
res = 0
for a in x:
if a >= 0:
res = sum(x)
return res
else:
return 0