public int maxSubArray(int[] nums) {
if(nums.length <= 1 )
return nums[0];
int count = 0;
int max = Integer.MIN_VALUE;
for(int i = 0;i <= nums.length -1 ; i++){
count = count + nums[i];
if(count > max)
max = count;
if(count <= 0)
count = 0;
}
return max;
}
贪心算法,计算子数组和如果小于0的话直接将总和归成0
注意:代码中两个if语句不能调换顺序否则会一直为0
就这样