剑指offer 连续子数组最大和

 

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

剑指offer 连续子数组最大和

 

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

 

相关文章: