美文网首页
Leetcode 精选之贪心思想(最大子序和)

Leetcode 精选之贪心思想(最大子序和)

作者: Kevin_小飞象 | 来源:发表于2020-03-27 15:14 被阅读0次

题目描述

给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。

示例:

输入: [-2,1,-3,4,-1,2,1,-5,4],
输出: 6
解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。

题目链接:力扣

解题思路


public class Main {
    
    public static void main(String[] args) {
        int[] nums = {-2,1,-3,4,-1,2,1,-5,4};
        
        System.out.println(maxSubArray(nums));
       
    }

    public static int maxSubArray(int[] nums) {
        if (nums == null || nums.length == 0) {
            return 0;
        }
        int preSum = nums[0];
        int maxSum = preSum;
        for (int i = 1; i < nums.length; i++) {
            preSum = preSum > 0 ? preSum + nums[i] : nums[i];
            maxSum = Math.max(maxSum, preSum);
        }
        return maxSum;
    }
}

测试结果

image.png

相关文章

网友评论

      本文标题:Leetcode 精选之贪心思想(最大子序和)

      本文链接:https://www.haomeiwen.com/subject/iviluhtx.html