代码随想录算法训练营第三十一天| 455.分发饼干 376. 摆动序列 53. 最大子序和

题目链接:455.分发饼干

代码如下:

class Solution {
public:
    int findContentChildren(vector& g, vector& s) {
    sort(g.begin(),g.end());
    sort(s.begin(),s.end());
    int index=s.size()-1;
    int result=0;
    for(int i=g.size()-1;i>=0;i--)
    {
        if(index>=0&&s[index]>=g[i])
        {
            result++;
            index--;
        }
    }
    return result;
    }
};

题目链接:376. 摆动序列

class Solution {
public:
    int wiggleMaxLength(vector& nums) {
    if(nums.size()<=1) return nums.size();
    int result=1;
    int preDiff=0;
    int curDiff=0;
    for(int i=0;i=0&&curDiff<0)||(preDiff<=0&&curDiff>0))
        {
            result++;
            preDiff=curDiff;
        }
    }
    return result;
    }
};

题目链接:53. 最大子序和

class Solution {
public:
    int maxSubArray(vector& nums) {
        int result=INT_MIN;
        int count=0;
        for(int i=0;iresult)
            result=count;
            if(count<=0)
            count=0;
        }
        return result;
    }
};

你可能感兴趣的:(代码随想录,c++,leetcode,贪心算法)