题目描述:
给定一个整数数组 nums
,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
递推式:dp[i]=max(dp[i-1]+nums[i],nums[i]),result=max(result,dp[i])
class Solution {
public:
int maxSubArray(vector<int>& nums) {
int len=nums.size();
int dp[len],result=nums[0];
dp[0]=nums[0];
for(int i=1;i<len;i++)
{
dp[i]=max(dp[i-1]+nums[i],nums[i]);//注意这里是和nums[i]进行比较
result=max(result,dp[i]);
}
return result;
}
};