我在这个问题想要问的问题上感到困惑。最大总和子列表?
写入函数
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