最大连续子数组的和

例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它的最大连续子序列的和

思路:

一个数之前的和是正的,则加上这个数。判断此时的和与最大和比较,大于就赋给最大和变量,如果一个数之前的和是负的,此时和是这个数。

class Solution {
public:
    int FindGreatestSumOfSubArray(vector<int> array) {
        int i=0;
        int sum=array[0];
        int max=array[0];
        for(i=1;i<array.size();i++){
            if(sum>=0)
                sum+=array[i];
            else
                sum=array[i];
            if(sum>max)
                max=sum;
        }
        return max;
        }
};

猜你喜欢

转载自blog.csdn.net/qq_33436509/article/details/81506629