455. 分发饼干

本是古典 何须时尚 2024-05-24 01:27 166阅读 0赞

参考链接:https://leetcode.cn/problems/assign-cookies/description/

文章目录

  • 题目
  • 思路

题目

假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。

对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。

在这里插入图片描述

思路

贪心算法一般分为如下四步:

  1. 将问题分解为若干个子问题
  2. 找出适合的贪心策略
  3. 求解每一个子问题的最优解
  4. 将局部最优解堆叠成全局最优解

局部最优:大饼干喂给胃口大的小孩
全局最优:尽可能满足最多的小孩

  1. class Solution {
  2. public int findContentChildren(int[] g, int[] s) {
  3. Arrays.sort(g);
  4. Arrays.sort(s);
  5. int index = s.length-1;
  6. int count = 0;
  7. // 先考虑胃口,大胃口的适合大饼干
  8. for(int i=g.length-1; i>=0; i--){
  9. if(index>=0 && g[i]<=s[index]){
  10. count++;
  11. index -- ;
  12. }
  13. }
  14. return count;
  15. }
  16. }

发表评论

表情:
评论列表 (有 0 条评论,166人围观)

还没有评论,来说两句吧...

相关阅读

    相关 455. 分发饼干

    455. 分发饼干 > 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 > 对每个孩子 i,都有一个胃口值 g\[i\],这是能

    相关 455. 分发饼干

    假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸;

    相关 leetcode 455. 分发饼干

    假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块

    相关 455. 分发饼干

    > 每个孩子最多只能给一块饼干。 > > 对每个孩子 i,都有一个胃口值 g\[i\],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s\[j\]