class Solution {
//sum当前子序列和,ans确保最大值
public int maxSubArray(int[] nums) {
int sum=nums[0],ans=nums[0],i;
for(i=1;i<nums.length;i++){
if(sum>0){
sum=sum+nums[i];
}else{
sum=nums[i];
}
ans=Math.max(ans,sum);
}
return ans;
}
}
sum>0,与下一个相加,继续当前子序列
sum<0,从下一个数开始新的序列
ans保存当前最大的子序列