class Solution {
public int maxSubArray(int[] nums) {
if(nums.length<1){
return 0;
}
int m = nums[0];
int sum = m;
int max = sum;
for(int i=1;i<nums.length;i++){
if((nums[i] < 0 && i+1<nums.length && (sum+nums[i+1]+nums[i])<0) || sum < 0){
m = nums[i];
sum = m;
max = Math.max(sum,max);
continue;
}
sum = sum + nums[i];
max = Math.max(sum,max);
}
return max;
}
}