题目描述:
给定一个整数数组,找到一个具有最小和的子数组。返回其最小和。
注意:子数组最少包含一个数字
例如:
给出数组[1, -1, -2, 1],返回 -3
代码:
class Solution
{
public:
int minSubArray(vector<int> nums)
{
int minSum = nums[0];
int sum = 0;
int maxSum = 0;
for (int i = 0; i < nums.size(); i++)
{
sum += nums[i];
if (sum - maxSum < minSum)
{
minSum = sum - maxSum;
}
if (sum > maxSum)
{
sum = maxSum;
}
}
return minSum;
}
};