思想:
1.从左往后遍历,算出到当前位置为止当前位置的最大的和sum(当sum < 0的时候,更新sum = num[i],当sum>0 的时候更新 sum = sum + num[i])
2. 找到最大的sum
代码:
class Solution {
public int maxSubArray(int[] nums) {
int sum = nums[0];
int temp = sum;
for(int i = 1; i < nums.length; i++){
if(sum < 0) sum = nums[i];
else sum += nums[i];
if(temp < sum) temp = sum;
}
return temp;
}
}