例如
maxSequence([-2, 1, -3, 4, -1, 2, 1, -5, 4])
# should be 6: [4, -1, 2, 1]
按照一般思想,代码如下
def maxSequence(arr):
max=0
for i in range(len(arr)):
for n in range(i+1,len(arr)+1):
s=sum(arr[i:n])
print arr[i:n]
if (s>max):
max=s
return max
但是有更好的方法,一次循环嵌套就可以达到目的
def maxSequence(arr):
max,curr=0,0
for x in arr:
curr+=x
if curr<0:curr=0
if curr>max:max=curr
return max