贪心经典题,大意是说给你一个糖果大小的数组s,给你孩子的需求数组g,让你能尽可能多的满足孩子的需求,最多能满足多少个孩子
class Solution {
public int findContentChildren(int[] g, int[] s) {
int child = 0,cookie = 0;
Arrays.sort(g);
Arrays.sort(s);
while(child != g.length && cookie != s.length){
if(s[cookie] >= g[child]){
cookie++;
child++;
}
else
cookie++;
}
return child;
}
}
class Solution {
public:
int findContentChildren(vector<int>& g, vector<int>& s) {
std::sort(g.begin(),g.end());
std::sort(s.begin(),s.end());
int child = 0;//满足了几个孩子
int cookie = 0;//尝试了几个糖果
while(child < g.size() && cookie < s.size()){//孩子或糖果均为尝试完
if(s[cookie] >= g[child]){//糖果满足需求
cookie++;
child++;
}
else//不满足需求,糖果继续往后尝试
cookie++;
}
return child;
}
};