DP:nums[i-1]意为到i-1位置的最大子序和
给定一个整数数组 nums
,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
class Solution:
def maxSubArray(self, nums: List[int]) -> int:
for i in range(1,len(nums)):
nums[i]=nums[i]+max(nums[i-1],0)
return max(nums)
class Solution {
public:
int maxSubArray(vector<int>& nums) {
int maxSum = nums[0];
for(int i=1;i<nums.size();i++){
nums[i]= nums[i] + max(nums[i-1],0);
maxSum = max(maxSum,nums[i]);
}
return maxSum;
}
};