内容:
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.
思路:
先满足greed值低的小孩最划算,且用s尽可能小的糖去满足小孩不会使的结果更差。
class Solution {
public:
int findContentChildren(vector<int>& g, vector<int>& s) {
sort(g.begin(), g.end());
sort(s.begin(), s.end());
int p = 0;
int ans = 0;
for (int i = 0; i < g.size(); i++) {
while (p < s.size() && s[p] < g[i]) p++;
if (p == s.size()) break;
p++;
ans++;
}
return ans;
}
};