LeetCode#53 Maximum Subarray

1、对于当前已计算区间,只要sum<0则丢弃。单独的result记录历史最高,选取当前高于其的sum替换。

class Solution {
public:
    int maxSubArray(vector<int>& nums) {
        int sum = 0;
        int result = nums[0];
        for(int i = 0; i < nums.size(); i++){
            sum += nums[i];
            result = (result < sum) ? sum : result;
            sum = (sum < 0) ? 0 : sum;
        }

        return result;
    }
};

猜你喜欢

转载自blog.csdn.net/rpybd/article/details/82535093