53. 最大子数组和(LeetCode)(DP\贪心)

53. 最大子数组和

DP

class Solution {
public:
    int maxSubArray(vector<int>& nums) {
        int res = INT_MIN;

        for(int i = 0, last = 0; i < nums.size(); ++i){
            last = nums[i] + max(last, 0);
            res = max(res, last);
        }

        return res;
    }
};

贪心

class Solution {
public:
    int maxSubArray(vector<int>& nums) {
        int sum = 0, maxv = nums[0];
        for(int i = 0; i < nums.size(); ++i){
            sum += nums[i]; maxv = max(maxv, sum);
            if(sum < 0) sum = 0;
        }
        return maxv;
    }
};
posted @ 2025-03-12 20:23  awei040519  阅读(10)  评论(0)    收藏  举报