求连续子数组的最大和,数组元素有正有负。
public class Solution {
public int FindGreatestSumOfSubArray(int[] array) {
if(array.length == 0 || array == null)
return 0;
int maxSum = Integer.MIN_VALUE;
int curSum = 0;
for(int i = 0; i < array.length; i++){
if(curSum <= 0){
curSum = array[i]; //小于0,累加后和减小
}else{
curSum += array[i];
}
if(curSum > maxSum)
maxSum = curSum;
}
return maxSum;
}
}