原题链接
解题思路
遍历数组nums,由于num[:i]的值我们已不再关心,所以把这部分的空间用作备忘录
遍历过后nums[i]处的值等于:
- 以nums[i]结尾的
- 子数组的
- 最大和
代码
class Solution:
def maxSubArray(self, nums: List[int]) -> int:
if len(nums)==1:
return nums[0]
for i in range(1,len(nums)):
if nums[i-1]>0:
nums[i]+=nums[i-1]
return max(nums)