给定一个整数数组,找到一个具有最小和的子数组。返回其最小和。
注意事项
子数组最少包含一个数字
样例
给出数组[1, -1, -2, 1],返回 -3
此题原理与最大子数组相似,参考最大子数组即可http://mp.blog.csdn.net/postedit/79177463
int minSubArray(vector<int> &a) {
// write your code here
int length = a.size() ;
int i,j;
int temp = 10000;int sum = 0;
for(i = 0;i < length;i++)
{
sum += a[i];
if(sum < temp)
{
temp = sum;
}
if(sum > 0)
{
sum = 0;
}
}
return temp;
}