参考博客 https://blog.youkuaiyun.com/hs794502825/article/details/7956730
"""
给定一个整数序列,a0, a1, a2, …… , an(项可以为负数),
求其中加和(sum)最大的连续子序列。
例如: [-2,1,-2,3,10,-4,7,2,5,-2,1]
的加和连续最大子序列为[3,10,-4,7,2,5]
思路:动态规划
参考博客 https://blog.youkuaiyun.com/hs794502825/article/details/7956730
"""
def maxSum(myList):
#考虑数组只有一个负元素
sum = myList[0]
thisSum = 0
for i in range(1, len(myList)):
thisSum += myList[i]
if thisSum > sum:
sum = thisSum
elif thisSum > 0:
pass
elif thisSum < 0:
thisSum = 0
return sum
if __name__ == "__main__":
#myList = [-2, 1, -2, 3, 10, -4, 7, 2, 5, -2, 1]
myList = [-2]
print(maxSum(myList))