class Solution {
public int maxSubArray(int[] nums) {
int ans = nums[0];
int sum = 0;
for(int num: nums) {
if(sum>0) {
sum += num;
} else {
sum = num;
}
ans = Math.max(ans, sum);
}
return ans;
}
}
写了几种情况帮助理解
-1,-5,10
sum=-1
ans=-1
sum=-5
ans=-1
sum=10
ans=10
-2,5,-2,10
sum=-2
ans=-2
sum=5
ans=5
sum=3
ans=3
sum=13
ans=13
-2,5,-12,10
sum=-2
ans=-2
sum=5
ans=5
sum=-7
ans=5
sum=10
ans=10