最大子数组

2019-08-29  本文已影响0人  瞬铭

https://leetcode.com/problems/maximum-subarray/
求最大连续子数组的最大和

两个变量,一个curMax 表示走到当前位置的能加到的最大值,这个值是 max(curMax+nums[i],curMax)。另一个res是最终的结果集,res的表示方式是max(curMax,res)

   public int maxSubArray(int[] nums) {
        long res = Integer.MIN_VALUE;
        long maxSum = Integer.MIN_VALUE;
        for (int i = 0; i < nums.length; i++) {
            maxSum = Math.max(maxSum + nums[i], nums[i]);
            res = Math.max(res, maxSum);
        }
        return (int)res;
    }

Kadane算法:https://blog.csdn.net/lengxiao1993/article/details/52303492

上一篇 下一篇

猜你喜欢

热点阅读