题目:

给定一个整数数组,找到一个具有最小和的子数组。返回其最小和。

样例

给出数组[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;
    }
}
View Code

相关文章:

  • 2022-01-12
  • 2021-06-04
  • 2022-12-23
  • 2021-07-28
  • 2022-12-23
  • 2022-12-23
  • 2021-08-01
  • 2021-11-06
猜你喜欢
  • 2021-12-25
  • 2022-01-25
  • 2022-01-16
  • 2021-06-18
  • 2022-01-12
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案