cherrychenlee

导航

 

原文地址:https://www.jianshu.com/p/b048dd2d1a17

时间限制:1秒 空间限制:32768K

题目描述

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

我的代码

class Solution {
public:
    int FindGreatestSumOfSubArray(vector<int> array) {
    //定义f(i)为以下标i对应的值结尾的最大连续子序列的和
        int n=array.size();
        if(n<1)
            throw n;
        vector<int> f(n,0);
        f[0]=array[0];
        int res=array[0];
        for(int i=1;i<n;i++){
            f[i]=max(f[i-1]+array[i],array[i]);
            res=max(res,f[i]);
        }
        return res;
    }
};

运行时间:5ms
占用内存:468k

posted on 2019-05-06 21:31  cherrychenlee  阅读(106)  评论(0编辑  收藏  举报