455. 分发饼干
题目描述
一个数组里int值是孩子的胃口,另一个数组里int值是饼干的尺寸,求饼干可以满足几个孩子?
思路
大不了就是遍历呗
对两个数组都进行排序,排序以后从大到小双指针指向俩数组,一一对应比较大小。如果饼干不够大,那这个孩子就满足不了,咱们看看下一个孩子的需求就好。
官方思路
贪心算法,先排序再贪心。
代码
class Solution {
public:
int findContentChildren(vector<int>& g, vector<int>& s) {
sort(g.begin(), g.end());
sort(s.begin(), s.end());
int gl=g.size();
int sl=s.size();
int res=0;
int i=sl-1;
int j=gl-1;
while(i>=0&&j>=0){
if(s[i]>=g[j]){
res++;
i--;
j--;
}
else{
j--;
}
}
return res;
}
};
知识
对vector使用sort函数:基本类型,如vector,vector,vector
sort(a.begin(), a.end());
排序后从小到大