LeetCode455. 分发饼干
思路:排序 + 贪心算法
每次拿最大的饼干与最贪心的小朋友进行比较,如果满足,则可以让其满足;否则,继续找下一个小朋友。
由于贪心算法通常每一次操作都需要取最大值或最小值,因此需要对数组排序。
class Solution { public int findContentChildren(int[] g, int[] s) { Arrays.sort(g); Arrays.sort(s); int gi = g.length - 1; int si = s.length - 1; int res = 0; while (gi >= 0 && si >= 0) { // 从大到小 if (s[si] >= g[gi]) { res ++; si --; gi --; }else { // 如果当前饼干不能满足当前孩子的胃口,就继续查找胃口更小的孩子 gi --; } } return res; } }