给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组是数组中的一个连续部分。
class Solution:
def maxSubArray(self, nums: List[int]) -> int:
n = len(nums)
#dp[i]表示以索引i为结尾的连续子数组的最大和
dp = [0]*n
dp[0] = nums[0]
for i in range(1, n):
dp[i] = max(dp[i-1]+nums[i], nums[i])
return max(dp)