// remmeber the begin and the end
//return the array
class Solution {
public:
int maxSubArray(vector<int>& nums) {
int sum = 0;
int max = 0;
int count = nums.size();
for(int i=0;i<count;i++){
sum += nums[i];
if(sum>0){
max = max>sum?max:sum;
}else{
max = sum;
sum=0;
}
}
return max;
}
};
在【-1 -2】的時候,返回的是-2,結(jié)果是不對的
正確結(jié)果
class Solution {
public:
int maxSubArray(vector<int>& nums) {
int sum = 0;
int smax = INT_MIN;
int count = nums.size();
for(int i=0;i<count;i++){
sum += nums[i];
if(sum>smax) smax = sum;
if(sum<0)sum=0;
}
return smax;
}
};