LeetCode 53 Maximum Subarray
概述
https://leetcode.com/problems/maximum-subarray/
动态规划法
极值问题,直接上动态规划。
dp[i] 表示以 nums[i] 开头的连续数组的最大和。
class Solution {
public:
    int maxSubArray(vector<int>& nums) {
        vector<int> dp(nums.size(), 0);
        int ans = INT_MIN;
        for (int i = nums.size() - 1; i >= 0; i --) {
            if (i + 1 < nums.size()) {
                dp[i] = max(0, dp[i+1]);
            }
            dp[i] += nums[i];
            ans = max(ans, dp[i]);
        }
        return ans;
    }
};
                
                Links: leetcode-53-maximum-subarray