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; } };