
解题思路
这题很简单,创建一个变量sum用于表示增益, 创建变量res记作最终答案
- 如果
sum大于0则表示遇到了增数, - 如果
sum小于等于0,则继续往后推,sum更新为当前值 - 在每次遍历的时候都需要比较
res与sum中的最大值,最后遍历结束时返回res
class Solution:
def maxSubArray(self, nums: List[int]) -> int:
sums = 0
res = nums[0]
for n in nums:
if sums > 0: sums += n
else: sums = n
res = max(sums, res)
return res