我在這個問題想要問的問題上感到困惑。最大總和子列表?
寫入函數
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
如果你不能解決你的頭一個問題,你不能用計算機解決這個問題。在編寫任何代碼之前,請嘗試自己解決一些示例。當你有一個工作方法,然後編碼算法。 – 2013-02-25 08:51:00