44 最小子数组
原题网址:http://www.lintcode.com/zh-cn/problem/minimum-subarray/
给定一个整数数组,找到一个具有最小和的子数组。返回其最小和。
注意事项
子数组最少包含一个数字
样例
给出数组[1, -1, -2, 1],返回 -3
1 #include <iostream> 2 #include <vector> 3 #include <math.h> 4 using namespace std; 5 6 int minSubArray(vector<int> &nums) //最小子数组; 7 { 8 int size=nums.size(); 9 int min=nums[0]; 10 int sum=0; 11 for (int i=0;i<size;i++) 12 { 13 sum=sum+nums[i]; 14 if (sum<min) 15 { 16 min=sum; 17 } 18 if (sum>0) 19 { 20 sum=0; 21 } 22 } 23 return min; 24 }