解法一:class Solution {
public:
int maxSubArray(vector<int>& nums) {
int Max=nums[0];
int sum=0;
for(int i=0;i<nums.size();i++)
{
sum=nums[i];
if(Max<sum)
Max=sum;
for(int j=i+1;j<nums.size();j++)
{
sum=sum+nums[j];
if(Max<sum)
Max=sum;
}
}
return Max;
}
};
解法二:
class Solution {
public:
int maxSubArray(vector<int>& nums) {
int cur=0;
int sum=nums[0 ];
for(int i=0;i<nums.size();i++)
{
cur+=nums[i];
sum=max(sum,cur);
cur=max(0,cur);
}
return sum;
}
};