剑指 Offer 42. 连续子数组的最大和

剑指 Offer 42. 连续子数组的最大和

输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。

要求时间复杂度为O(n)。

代码

class Solution {
public:
    int maxSubArray(vector<int>& nums) {
        int sum = 0;
        int minn = 0;
        int ans = -2e9;
        for (const auto& num : nums) {
            sum += num;
            ans = max(ans, sum - minn);
            minn = min(minn, sum);
        }
        return ans;

    }
};
posted @ 2022-04-26 22:09  沐灵_hh  阅读(5)  评论(0编辑  收藏  举报