题目:给定一个整数数组,找到一个具有最小和的子数组。返回其最小和。
分析:贪心算法,数组的每个元素都可以加或者不加,从第一个元素开始判断,包括第一个元素时和不包括第一个元素的情况取最小值。
public int minSubArray(List<Integer> nums) { // write your code here int min=nums.get(0); int sum=nums.get(0); for(int i=1;i<nums.size();i++){ //sum+=nums.get(i); sum=Math.min(nums.get(i),sum+nums.get(i)); //每个数组元素都可以加或不加,从第一个元素开始判断,包括第一个元素时和不包括第一个元素的情况取最小值 min=Math.min(min,sum); } return min; }