码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode 简单 - 最大子序和(53)

时间:2019-03-29 20:43:03      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:方法   cto   tco   etc   vector   code   pre   size   ++   

采用动态规划方法O(n)

设sum[i]为以第i个元素结尾且和最大的连续子数组。假设对于元素i,所有以它前面的元素结尾的子数组的长度都已经求得,那么以第i个元素结尾且和最大的连续子数组实际上,要么是以第i-1个元素结尾且和最大的连续子数组加上这个元素,要么是只包含第i个元素,即sum[i]=max(sum[i-1]+a[i],a[i])

class Solution {
public:
    int maxSubArray(vector<int>& nums) {
        int res=INT_MIN;
        int f_n=0;
        for(int i=0;i<nums.size();i++)
        {
            f_n=max(nums[i],nums[i]+f_n);
            if(f_n>res)
            res = f_n;
        }
        return res;
    }
};

 

LeetCode 简单 - 最大子序和(53)

标签:方法   cto   tco   etc   vector   code   pre   size   ++   

原文地址:https://www.cnblogs.com/-xinxin/p/10623650.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!