44.Minimum Subarray-最小子数组(容易题)

来源:互联网 发布:网络协议分析与仿真 编辑:程序博客网 时间:2024/05/17 00:02

最小子数组

  1. 题目

    给定一个整数数组,找到一个具有最小和的子数组。返回其最小和。

    注意事项

    子数组最少包含一个数

  2. 样例

    给出数组[1, -1, -2, 1],返回 -3

  3. 题解

    思路同最大子数组。

public class Solution {    /**     * @param nums: a list of integers     * @return: A integer indicate the sum of minimum subarray     */    public int minSubArray(ArrayList<Integer> nums) {        int sum = nums.get(0);        int curMin = nums.get(0);        int min = nums.get(0);        for (int i=1;i<nums.size();i++)        {            int k = nums.get(i);            curMin = curMin > 0 ? k : curMin + k;            sum = curMin < sum ? curMin : sum;            min = min > k ? k : min;        }        return sum > 0 ? min : sum;    }}

Last Update 2016.8.26

0 0