题目:
给定一个整数数组,找到一个具有最小和的子数组。返回其最小和。
样例
给出数组[1, -1, -2, 1],返回 -3
注意
子数组最少包含一个数字
解题:
和最大子数组 ,差不多的,动态规划的还是可以继续用的
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) { // write your code int min_ending_here = nums.get(0); int min_so_far = nums.get(0); for (int i=1 ;i< nums.size(); i++){ min_ending_here = Math.min(nums.get(i),nums.get(i) + min_ending_here); min_so_far = Math.min( min_so_far, min_ending_here ); } return min_so_far; } }