美文网首页一起来刷算法题
连续子数组的最大和

连续子数组的最大和

作者: cherryleechen | 来源:发表于2019-05-06 21:30 被阅读0次

    时间限制: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

    相关文章

      网友评论

        本文标题:连续子数组的最大和

        本文链接:https://www.haomeiwen.com/subject/ohytoqtx.html