Given an array of integers, find the subarray with smallest sum.
Return the sum of the subarray.
Have you met this question in a real interview? Yes
Example
For [1, -1, -2, 1], return -3
Note
The subarray should contain at least one integer.
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 // write your code
8 int local = nums.get(0);
9 int global = nums.get(0);
10 for (int i=1; i<nums.size(); i++) {
11 local = Math.min(local+nums.get(i), nums.get(i));
12 global = Math.min(local, global);
13 }
14 return global;
15 }
16 }