题解 | #连续子数组的最大和#
连续子数组的最大和
http://www.nowcoder.com/practice/459bd355da1549fa8a49e350bf3df484
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;
}
};
美的集团公司福利 720人发布