2.445.分发饼干
public:int findContentChildren(vector<int>& g, vector<int>& s) {//g是胃口,s是饼干int num=0;int i=0;//对每个孩子来说,如果有最小的饼干够吃,就。。。?j<s.size();i++;//吃完就下一个。i可能越界的噢return num;
·
思路:
排序后贪心一层循环直接过
储备:
问题重点:
1、一开始是想写两层遍历
但是两层遍历的缺点是每次都要从头开始遍历,记不住上一次已经消耗掉的
看答案知道改用一层遍历即可。一个萝卜一个坑。小饼干喂小胃口消耗最小。
2、
3、
4、
最后:
class Solution {
public:
int findContentChildren(vector<int>& g, vector<int>& s) {//g是胃口,s是饼干
sort(g.begin(),g.end());
sort(s.begin(),s.end());
int num=0;
int i=0;
//对每个孩子来说,如果有最小的饼干够吃,就。。。?
for (int j=0;j<s.size();j++) {
if (s[j]>=g[i]) {
num++;
i++;//吃完就下一个。i可能越界的噢
}
if (i>=g.size()) break;
}
return num;
}
};
更多推荐
所有评论(0)