分发饼干
class Solution { public: int findContentChildren(vector<int>& g, vector<int>& s) { int num = 0 , s_point = s.size()-1; //饼干和孩子排序 sort(g.begin() , g.end()); sort(s.begin() , s.end()); //先用最大的饼干开始喂能吃饱的孩子,吃不饱的跳过不喂 for(int i=g.size()-1 ; i >= 0 && s_point >=0 ;i--) { if( s[s_point] >= g[i]) { s_point--; //喂好一个饼干指针减少 num++; } } return num; } };
二刷
class Solution { public: int findContentChildren(vector<int>& g, vector<int>& s) { int result=0; sort(g.begin(),g.end()); sort(s.begin(),s.end()); for(int i=0 ,cur=0; i<g.size()&&cur<s.size();) { if(s[cur] >= g[i]) { cur++; i++; result++; }else { cur++; } } return result; } };