P53 最大子数组和

这道题可以用线性dp来做,不是很难。

Screenshot 2025-10-25 222318.pngScreenshot 2025-10-25 222328.png

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

算是线性dp的一道入门题目。

迷茫java练习生