class Solution { public: int FindGreatestSumOfSubArray(vector<int> array) { if(array.size()==0)return 0; int max = array[0] ; int sum = array[0]; for(int i=1 ; i<array.size();++i){ //最大 连续!!子向量和 如果有一个元素 就比之前所有的和都大,那就得更新到从这个元素开始 if(sum + array[i] > array[i])sum += array[i]; else sum = array[i];//如果前面的和为负数了,才会有这一步 if(sum > max)max = sum ; } return max ; } };
原文:https://www.cnblogs.com/Stephen-Jixing/p/13129715.html