[LeetCode题解]455. Assign Cookies

来源:互联网 发布:重复犯错歌词意思 知乎 编辑:程序博客网 时间:2024/06/06 22:35

Assume you are an awesome parent and want to give your children some cookies. But, you should give each child at most one cookie. Each child i has a greed factor gi, which is the minimum size of a cookie that the child will be content with; and each cookie j has a size sj. If sj >= gi, we can assign the cookie j to the child i, and the child i will be content. Your goal is to maximize the number of your content children and output the maximum number.

题意为给定每个小孩满意的尺寸以及各个曲奇的尺寸,每次至多给一个小孩一个曲奇,判定最多可以满足多少个小孩。

只要将小孩满意度的vector和曲奇尺寸的vector分别进行排序,然后将最大尺寸的曲奇与最大需求的小孩相比,看是否满足,优先用大尺寸的曲奇满足大需求的小孩可以得到最多可满足的小孩的个数。

下面附上代码

int findContentChildren(vector<int>& g, vector<int>& s) {    int count = 0;    sort(g.begin(), g.end());    sort(s.begin(), s.end());    int g_index = g.size() - 1;    int s_index = s.size() - 1;    while(g_index >= 0 && s_index >= 0){        if(s[s_index] >= g[g_index]){            count++;            g_index--;            s_index--;            continue;        }        g_index--;    }    return count;}


0 0
原创粉丝点击