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;
    }
}

 

posted @ 2021-01-12 21:40  不学无墅_NKer  阅读(64)  评论(0编辑  收藏  举报