class Solution {
public:
int maxSubArray(vector<int>& nums) {
// 找到第一个正数
int max = nums[0];
int i = 0;
for(i = 0; i < nums.size(); i++){
if(nums[i] > 0) break;
if(max < nums[i]) max = nums[i];
}
if(i >= nums.size()) return max;
int sum = nums[i];
max = nums[i];
i++;
for(i; i < nums.size(); i++){
if(sum <= 0) sum = nums[i];
else sum += nums[i];
if(max < sum) max = sum;
}
return max;
}
};