leetcode

53.最大子数组和

进阶版看 152.乘积最大子数组 力扣链接

class Solution {
public:
    int maxSubArray(vector<int>& nums) {
        // 错误 忘记初始化dp大小 就索引
        std::vector<int> dp(nums.size());
        // dp[i] 到达nums[i]的最大和
        dp[0]=nums[0];
        int res = nums[0];
        for (int i=1;i<nums.size();i++){
            // 1延续之前子序和 2从当前开始
            dp[i] = std::max(dp[i-1]+nums[i], nums[i]);
            res = std::max(res, dp[i]);
        }
        return res;
    }
};