力扣 LeetCode 455.分发饼干

力扣 LeetCode 455.分发饼干_第1张图片
力扣 LeetCode 455.分发饼干_第2张图片
首先把g和s排序,我选择的是从小到排,然后用贪心思想,让需要糖最大的人先拿走最大的糖,这样可以满足尽可能多的人,然后只要遍历一遍g即可。

class Solution {
public:
    int findContentChildren(vector<int>& g, vector<int>& s) {
        if(s.size()==0||g.size()==0)
        {
            return 0;
        }
        sort(g.begin(),g.end());
        sort(s.begin(),s.end());

        int m=s.size()-1;
        int res=0;
        for(int i=g.size()-1;i>=0;i--)
        {
            if(g[i]<=s[m])
            {
                m--;
                res++;
            }
            if(m==-1)
            {
                break;
            }
        }
        return res;
    }
};

你可能感兴趣的:(力扣题目,算法,c++,leetcode)