剑指offer42 连续子数组最大和 Java

public class ContinueSubArrayMaxSum42__ {
    public static void main(String[] args) {
        int[] arr = {1, -2, 4, 10, -4, 7, 2, -5};
        System.out.println(subArrayMaxSum(arr));
    }

    private static int subArrayMaxSum(int[] arr) {
        int cursum = 0;
        int maxsum = Integer.MIN_VALUE;
        for (int i = 0; i < arr.length; i++) {
            if (cursum <= 0) {
                cursum = arr[i];
            } else {
                cursum += arr[i];
            }
            maxsum = Math.max(maxsum, cursum);
        }
        return maxsum;
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_43065507/article/details/99329131
今日推荐