解题思路:根据题意,最大和的路径不定是从下标为0的开始,所以时间复杂度为O(N^2)。
max:用来保存路径上的最大和。
sum:用来保存路径上的总和。
注意:max的初始值为array[0],不能为0,否则当数组中的值都为负数时,结果就不对。
int FindGreatestSumOfSubArray(vector<int> array) {
int sum=0;
int max=array[0];
for(int i=0;i<array.size();++i)
{
sum=0;
for(int j=i;j<array.size();++j)
{
sum+=array[j];
if(max<sum)
max=sum;
}
}
return max;
}