PAT 1007 Maximum Subsequence Sum(最大子串和)

题目描述

给定一整型数列{a1,a2…,an},找出连续非空子串{ax,ax+1,…,ay},使得该子序列的和最大,其中,1<=x<=y<=n。

分析
  1. https://blog.csdn.net/lecholin/article/details/71566557
  2. 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

猜你喜欢

转载自blog.csdn.net/qq_36653505/article/details/81989487