连续子数组最大和

求连续子数组的最大和,数组元素有正有负。

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;        
    }
}

猜你喜欢

转载自blog.csdn.net/yingfengfeixiang/article/details/80217227