Leetcode53. 最大子数组和

贪心算法

思想: 若当前所指元素之前的和小于0,则丢弃当前元素之前的数列

class Solution
{
    
    
public:
    int maxSubArray(vector<int> &nums)
    {
    
    
        //类似寻找最大最小值的题目,初始值一定要定义成理论上的最小最大值
        int result = INT_MIN;
        int numsSize = int(nums.size());
        int sum = 0;
        for (int i = 0; i < numsSize; i++)
        {
    
    
            sum += nums[i];
            result = max(result, sum);
            //如果sum < 0,重新开始找子序串
            if (sum < 0)
            {
    
    
                sum = 0;
            }
        }

        return result;
    }
};

猜你喜欢

转载自blog.csdn.net/weixin_43579015/article/details/123385196