其他分享
首页 > 其他分享> > DP-LeetCode-3. 最大子序和

DP-LeetCode-3. 最大子序和

作者:互联网

思路代码

状态表示
当前位置为i,last表示[0, i-1]的最大子序和
now表示[0, i]的最大子序和,如果想让当前的now更大,那么last需要>=0

状态计算
now = max(0, last) + nums[i]
状态计算

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

标签:last,nums,int,max,LeetCode,ans,now,子序,DP
来源: https://blog.csdn.net/ASJBFJSB/article/details/121550119