最大子序和

简单的线性规划

  • 动态规划代码$O(n)$

class Solution
{
public:
    int maxSubArray(vector<int> &nums)
    {
        int dp[nums.size()];
        int maxn = nums[0];
        for (int i = 0; i < nums.size();i++)
        {
            if(i==0)
            {
                dp[i] = nums[i];
                continue;
            }
            dp[i] = dp[i - 1] + nums[i] > nums[i] ? dp[i - 1] + nums[i] : nums[i];
            if(dp[i]>maxn)
            {
                maxn = dp[i];
            }
        }
        return maxn;
    }
};

posted @ 2020-11-01 14:21  ArtistArthur  阅读(11)  评论(0)    收藏  举报