力扣:53. 最大子序和 C++

解题思路:prv记录前面值的和,如果prv+it>it即前面的值加上现在数这个值小于这个数本身,则直接从这个数开始计算,这个数作为第一数,继续找下去,Max记录片段的最大值

代码:

class Solution {
public:
    int maxSubArray(vector& nums) {
        int Max=nums[0],prv=0;
        for(int it:nums){
            prv=max((prv+it),it);
            Max=max(Max,prv);
        }
        return Max;
    }
};

你可能感兴趣的:(力扣,leetcode,算法,职场和发展)