思路
先把每一个值都加到当前集合中,记录当前的和,直到当前记录和小于0了,再重置改记录,再次尝试累加
代码
class Solution {
public:
int maxSubArray(vector<int>& nums) {
int res = INT32_MIN;
int curSum = 0;
for(int i = 0; i < nums.size(); i++){
curSum += nums[i];
if(curSum > res) res = curSum;
if(curSum <= 0) curSum = 0;
}
return res;
}
};