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 };

 

posted @ 2021-03-08 23:51  Mrsdwang  阅读(30)  评论(0编辑  收藏  举报