多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# Minimum Subarray ### Source - lintcode: [(44) Minimum Subarray](http://www.lintcode.com/en/problem/minimum-subarray/) ~~~ Given an array of integers, find the subarray with smallest sum. Return the sum of the subarray. Example For [1, -1, -2, 1], return -3 Note The subarray should contain at least one integer. ~~~ ### 题解 题 [Maximum Subarray](http://algorithm.yuanbin.me/zh-cn/dynamic_programming/maximum_subarray.html) 的变形,使用区间和容易理解和实现。 ### Java ~~~ public class Solution { /** * @param nums: a list of integers * @return: A integer indicate the sum of minimum subarray */ public int minSubArray(ArrayList<Integer> nums) { if (nums == null || nums.isEmpty()) return -1; int sum = 0, maxSum = 0, minSub = Integer.MAX_VALUE; for (int num : nums) { maxSum = Math.max(maxSum, sum); sum += num; minSub = Math.min(minSub, sum - maxSum); } return minSub; } } ~~~ ### 源码分析 略 ### 复杂度分析 略