Minimum Subarray
Minimum Subarray
题目地址
https://www.lintcode.com/problem/minimum-subarray/description
题目描述
Given an array of integers, find the continuous subarray with smallest sum.
Return the sum of the subarray.代码
Apporach #1
minSub = Math.min(minSub, sum - maxSum);
public class Solution {
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;
}
}Approach #2 Multiply the array by negative 1, and then maximize it
Last updated
Was this helpful?