贪心算法:先寻找局部最优解,进而整合起来的结果仍然是整体最优解。将饼干按照从小到大排列,同时也将孩子的胃口从小到大排序,找到满足孩子胃口的最小饼干,满足这个局部最优解。
class Solution {
public int findContentChildren(int[] g, int[] s) {
//将孩子们的胃口进行排序
Arrays.sort(g);
//将饼干的大小进行排序
Arrays.sort(s);
//当前遍历到的饼干
int cookie = 0;
//有多少个孩子得到满足了
int child = 0;
//饼干没有遍历完或者孩子的胃口没有满足完
while (cookie < s.length && child < g.length){
//当前遍历到的饼干的大小 大于等于孩子的胃口
if (g[child] <= s[cookie]){
//那么有有个孩子可以得到满足
child++;
}
//当前遍历到的饼干的大小 小于孩子的胃口,继续往后遍历饼干
cookie++;
}
return child;
}
}