题目描述
请计算给出的数组(至少含有一个数字)中具有最大和的子数组(子数组要求在原数组中连续)
例如:给出的数组为[−2,1,−3,4,−1,2,1,−5,4],
子数组[−2,1,−3,4,−1,2,1,−5,4],具有最大的和:6.

解题参考网上:
思路:如果累加为负则抛弃重置为下一个置,但需要保存之前的负值,否则一旦遇到答案是负值的情况这种策略会出错

class Solution:
    def maxSubArray(self , A ):
        # write code here
        if A is None:
            print(0)

        m_sum = A[0]
        max_sum = A[0]
        for n in A[1:]:
            if m_sum < 0:
                m_sum = n;
            else:
                m_sum += n;
            max_sum = max(m_sum,max_sum)

        return max_sum