题目描述
给定一整型数列{a1,a2…,an},找出连续非空子串{ax,ax+1,…,ay},使得该子序列的和最大,其中,1<=x<=y<=n。
分析
- https://blog.csdn.net/lecholin/article/details/71566557
- https://blog.csdn.net/huyuanjava/article/details/38142697
实现(python)
def MaxSubSum(li):
maxSum = 0
nowSum = 0
start = 0
end = 0
p1 = 0
p2 = 0
for i in range(len(li)):
nowSum += li[i]
if nowSum > maxSum:
maxSum = nowSum
p2 = i
start = p1
end = p2
else:
if nowSum < 0:
nowSum = 0
p1 = i+1
return maxSum, start, end