1/ 定义变量,存储和最大的值。假定初始最大值为首元素。
2/ 从i=1开始比较,如果前一个值大于0,就加上去,否则就从当前数开始。
3/ 返回最大值
class Solution {
public:
int FindGreatestSumOfSubArray(vector<int> array) {
int Max = array[0];
for(int i=1;i<array.size();i++){
array[i]+=array[i-1]>0?array[i-1]:0;
Max=max(Max,array[i]);
}
return Max;
}
};
京公网安备 11010502036488号