数组中求最大的连续正数的和

public class ArryMax {

    public static Integer getMax(Integer[] arr) {
        int m = 0;
        int max = 0;
        int sum = 0;

        for (int i = 0; i < arr.length; i++) {
            max += arr[i];
            if (max > sum) {
                sum = max;
            } else {
                if (sum > m){
                    m = sum;
                }
                max = 0;
                sum = 0;

            }
        }
        return sum>m?sum:m;
    }

    public static void main(String[] args) {
        Integer[] arr = {1, 2, 3, -2, 10, -2, 1, 3, 2, 11, -20, 0};
        Integer[] arr1 = {1, -2, -3, -2, -10, -2, -1, -3, 9, 11, -20, 0};
        Integer[] arr2 = {1, 2, 3, 4};
        System.out.println(getMax(arr2));

    }
}

  

posted on 2018-08-22 16:05  开心就好呀·  阅读(134)  评论(0编辑  收藏  举报

导航