class Solution { public: int FindGreatestSumOfSubArray(vector<int> array) { int res = INT32_MIN; // res 用来存储不带上当前数值的子数组的和 int ans = INT32_MIN; // 连续子数组最大和 for(int i = 0; i < array.size(); i++) { if(res < 0) // 如果不加上当前元素的时候,连续子数组最大和小于0,则将连续数组最大和更新为当前元素值 res = array[i]; else // 相反,加上当前数组 res = res + array[i]; ans = max(ans, res); // 更新最大连续子数组的最大和 } return ans; } };