455. Assign Cookies
仅供自己学习
思路:
比较基础的贪心问题,需要清楚贪心的条件是什么,如果为了能让最多的人吃饱,那么应该从胃口最小的开始为食,所以要排序,对于饼干,应该从最小分量的开始吃,这样才能在最大满足胃口值小的后还能满足一部分胃口值大的。所以饼干也需要从小到大排序。
然后就开始遍历,一个循环,条件是小于孩子的数量和饼干的数量,如果孩子的胃口度小于等于饼干分量则 孩子数加一,然后饼干消耗加一,否则直接饼干消耗加一。最后返回孩子数即可。孩子数是能够吃饱的的孩子数
代码:
1 class Solution { 2 public: 3 int findContentChildren(vector<int>& g, vector<int>& s) { 4 sort(g.begin(),g.end()); 5 sort(s.begin(),s.end()); 6 int cookienums=s.size(),childrennums=g.size(); 7 int children=0,cookies=0; 8 while(children<childrennums&&cookies<cookienums){ 9 if(g[children]<=s[cookies]) 10 children++; 11 cookies++; 12 } 13 return children; 14 } 15 };