您的位置:首页 > 其它

DP--- Minimum Subarray

2016-04-08 14:43 405 查看
Given an array of integers, find the subarray with smallest sum.

Return the sum of the subarray.

For [1, -1, -2, 1], return -3

public class Solution {
public int minSubArray(ArrayList<Integer> nums){
if (nums ==null) {
return 0;
}
int len = nums.size();
int min = Integer.MAX_VALUE, currSum = 0;
int []localmin = new int[len];
int []globalmin = new int [len];
globalmin[0] = localmin[0] = nums.get(0);
for (int i =1; i < len; i++ ) {
localmin[i] = Math.min(localmin[i-1]+nums.get(i),nums.get(i));
globalmin[i] = Math.min(globalmin[i-1],localmin[i]);

}
return globalmin[len-1];
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: