这道题运用的贪心策略是,胃口小的小孩吃,小的饼干,胃口大的小孩吃胃口大的饼干,所以我们只用把两个数组排个序,然后依次比较即可。
步骤:
1.排序每个小孩,和饼干
2.这里定义一个变量表示满足小孩的个数,遍历每个饼干,当然也可以遍历每个小孩,注意零界点,如果大于等于胃口就++;
class Solution {
public:
int findContentChildren(vector<int>& g, vector<int>& s) {
sort(g.begin(),g.end());
sort(s.begin(),s.end());
int k=0;
for(int i=0;i<s.size();i++){
if(k<g.size()&&s[i]>=g[k]){
k++;
}
}
return k;
}
};