题目链接:455. 分发饼干
题目描述
解法
第一种
孩子按照食量重大到小进行排序,依次与饼干最大尺寸进行比较,
饼干满足孩子时,才能移动到下一个更小的饼干
饼干不满足孩子时,饼干与下一个食量更小的孩子进行比较
class Solution {
public:
int findContentChildren(vector<int>& g, vector<int>& s) {
int res = 0;
sort(g.begin(), g.end());
sort(s.begin(), s.end());
int index = s.size()-1;
for(int i=g.size()-1; i>=0; i--)
{
if(index>=0 && s[index]>=g[i])
{
index--;
res++;
}
}
return res;
}
};
第二种
食量最小的孩子和最小尺寸的饼干开始对比,
饼干不满足孩子时,就移动到下一个尺寸更大的饼干,直到遍历完所有尺寸的饼干
class Solution {
public:
int findContentChildren(vector<int>& g, vector<int>& s) {
int res = 0;
sort(g.begin(), g.end());
sort(s.begin(), s.end());
int index = 0;
for(int i=0; i<s.size(); i++)
{
if(index<g.size() && s[i]>=g[index])
{
index++;
res++;
}
}
return res;
}
};