class Solution {
public:
int maxSubArray(std::vector<int>& nums) {
if (nums.size() < 2) {
return nums[0];
}
// int maxSum = (nums[0] > nums[0] + nums[1]) ? nums[0] : nums[0] + nums[1];
int maxSum = nums[0];
int prev = maxSum;
for (int i = 1; i < nums.size(); i++) {
int greater = (prev + nums[i] > nums[i]) ? prev + nums[i] : nums[i];
if (greater > maxSum) { maxSum = greater; }
prev = greater;
}
return maxSum;
}
};