这是问题的描述:
最大和子数组问题在于找到数组或整数列表中连续子序列的最大和:
max_sequence([-2, 1, -3, 4, -1, 2, 1, -5, 4]) 应该是 6: [4, -1, 2, 1]
简单的情况是列表仅由正数组成并且最大和是整个数组的总和。如果列表仅由负数组成,则返回 0。
空列表被认为具有零最大和。请注意,空列表或数组也是有效的子列表/子数组。
到目前为止,我的解决方案是:
def max_sequence(arr):
sum = 0
max = 0
for i in arr:
sum += i
if i > max:
max = i
sum = max
elif sum > max:
max = sum
return(max)
它适用于简单的例子,但不适用于随机的例子......你能帮我在哪里犯了错误/我没有考虑什么吗?