455.分发饼干

发布时间 2023-08-05 10:31:49作者: Chenyi_li

解题思路:
我们要知道,饼干数决定喂饱的孩子的数,所以我们以饼干数做循环。 先将两个数组进行排序(sort),【贪心算法就是在每一步选择最优解,即最小的饼干要给满足度最小的孩子,才能达到最大化的价值】, 定义结果为res。 我们创建两个指针(i,j) i指向第一个孩子,j指向第一个饼干,出现的情况: 1.孩子的满足度大于饼干或者没有饼干了。说明i不能移动,没有孩子可以喂饱了。对res没有操作;(res= 0.i= 0) 2.孩子的满足度等于或者小于饼干。res自增,说明第i个孩子可以喂饱。 然后指针向后移动,i++;j++;res++ 在这个过程中,我们会发现能够喂饱的孩子数等于i,所以我们可以用res来代替i

作者:不懂语言的崽子
链接:https://leetcode.cn/problems/assign-cookies/solutions/2332760/jian-dan-si-lu-java-by-hua-kai-bu-bai-ca-b6zw/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

class Solution {
    public int findContentChildren(int[] g, int[] s) {
        // 默认从小到大排列
        Arrays.sort(g);
        Arrays.sort(s);
        // int cookieIndex = 0;
        int childIndex = 0;
        for(int cookieIndex=0;cookieIndex<s.length;cookieIndex++){
            if(childIndex<g.length&&s[cookieIndex]>=g[childIndex]){
                childIndex++;
            }
        }
        return childIndex;
    }
}

转载参考:https://leetcode.cn/problems/assign-cookies/solutions/2332760/jian-dan-si-lu-java-by-hua-kai-bu-bai-ca-b6zw/