问题描述
每个孩子最多一块饼干。
gi:the greed factor of ith children
sj:the size of jth cookie
if sj >= gi,则能把cookie j分配给children i。
问:最多能分配到饼干的孩子数量?
例1:
Input: [1,2,3], [1,1]
Output: 1
只能满足小孩g[0]
例2:
Input: [1,2], [1,2,3]
Output: 2
最多只能满足两个小孩(任意两个都可以)
class Solution {
public:
int findContentChildren(vector<int>& g, vector<int>& s) {
int count=0;
sort(g.begin(), g.end());
sort(s.begin(), s.end());
int i=0; //定义两个指针从最小值来移动
int j=0;
//int i=g.size()-1; //定义两个指针从最大值来移动
//int j=s.size()-1;
//while(i>=0 && j>=0){
while(i<g.size() && j<s.size()){
if(g[i] > s[j]){
j++; //这是特别注意的地方!!!
//i--;
}
else{
count++;
i++;
j++;
}
}
return count;
}
};