leetcode 53. 最大子序和

O(n)时间O(1)空间

class Solution {
public:
    int maxSubArray(vector<int>& nums) {
        int len=nums.size();
        if(len==0) return 0;
        int dp=nums[0];
        int res=nums[0];
        //dp表示以i元素结尾的最大子串
        for(int i=1;i<len;i++){
            dp=max(nums[i],dp+nums[i]);
            res=max(dp,res);
        }
        return res;
    }
};

 

posted @ 2019-05-15 12:19  Joel_Wang  阅读(124)  评论(0编辑  收藏  举报