用pre来保存数字num前的那一段(并不是整个数组的)最大子数组和,如果把num加入子数组能使和更大,就把num加进去,如果不会更大,就用num开启一个新的子数组,用另一个参数res来保存整个数组的最大的子数组和
class Solution(object):
def maxSubArray(self, nums):
res = nums[0]
pre = 0
for num in nums:
pre = max(pre + num, num)
res = max(res, pre)
return res