class Solution { public: int maxSubArray(vector<int>& nums) { int maxSum = INT_MIN, currentSum = 0; for( int i = 0; i < nums.size(); ++i ){ maxSum = max( maxSum, currentSum+= nums[i] ); currentSum = ( currentSum < 0 ) ? 0 : currentSum; } return maxSum; } };