LintCode-Minimum Subarray
Given an array of integers, find the subarray with smallest sum.
Return the sum of the subarray.
Note
The subarray should contain at least one integer.
Example
For [1, -1, -2, 1], return -3
Solution:
1 public class Solution { 2 /** 3 * @param nums: a list of integers 4 * @return: A integer indicate the sum of minimum subarray 5 */ 6 public int minSubArray(ArrayList<Integer> nums) { 7 int len = nums.size(); 8 if (len==0) return 0; 9 10 int curMin = nums.get(0); 11 int minRes = nums.get(0); 12 13 for (int i=1;i<len;i++){ 14 curMin = Math.min(nums.get(i),curMin+nums.get(i)); 15 minRes = Math.min(curMin,minRes); 16 } 17 return minRes; 18 } 19 }