时间复杂度为O(n)的解法代码如下:
class Solution
{
public:
int maxSubArray(vector<int>& nums)
{
int res = nums[0];
int sum = nums[0];
for (int i = 1; i < nums.size(); i++)
{
if (sum < 0)
{
sum = nums[i];
}
else
{
sum += nums[i];
}
if (sum > res)
{
res = sum;
}
}
return res;
}
};