[LeetCode题解]455. Assign Cookies

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;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值