您的位置:首页 > 其它

LintCode_041_最大子数组

2017-12-07 22:03 483 查看

问题描述

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

注意事项

子数组最少包含一个数

样例

给出数组[−2,2,−3,4,−1,2,1,−5,3],符合要求的子数组为[4,−1,2,1],其最大和为6

求解

class Solution
{
public:
int maxSubArray(vector<int> nums)
{
int maxSum = 0;
int curSum = 0;
for (auto it = nums.begin(); it != nums.end(); ++it)
{
if (it == nums.begin())
{
maxSum = *it;
}
curSum += *it;
if (curSum > maxSum)
{
maxSum = curSum;
}
if (curSum < 0)
{
curSum = 0;
}
}
return maxSum;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: