Leetcode455

链接:力扣 。

题目:

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

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

说明:

1 <= g.length <= 3 * 10^4
    0 <= s.length <= 3 * 10^4
    1 <= g[i], s[j] <= 2^31 - 1

示例1:

输入:g = [1,2,3], s = [1,1]
输出:1
解释:你有三个孩子和两块小饼干,3个孩子的胃口值分别是:1,2,3。虽然你有两块小饼干,由于他们的尺寸都是1,你只能让胃口值是1的孩子满足。所以你应该输出1。

示例2:

输入:g = [1,2], s = [1,2,3]
输出:2
解释:你有两个孩子和三块小饼干,2个孩子的胃口值分别是1,2。你拥有的饼干数量和尺寸都足以让所有孩子满足。所以你应该输出2。

思路:

大尺寸的饼干既可以满足胃口大的孩子也可以满足胃口小的孩子,那么就应该优先满足胃口大的。
这里的局部最优就是大饼干喂给胃口大的,充分利用饼干尺寸喂饱一个,全局最优就是喂饱尽可能多的小孩。
可以尝试使用贪心策略,先将饼干数组和小孩数组排序。然后从后向前遍历小孩数组,用大饼干优先满足胃口大的,并统计满足小孩数量。

参考代码:

class Solution {
public:int findContentChildren(vector<int>& g, vector<int>& s) {sort(g.rbegin(), g.rend());sort(s.rbegin(), s.rend());int count = 0, index = 0;for (int i = 0; i < g.size(); i++) {if (index < s.size() && s[index] >= g[i]) {count++;index++;}}return count;}
};

力扣刷题 DAY_75 贪心相关推荐

  1. LeetCode力扣刷题——简单易懂的贪心算法

    贪心 一.算法解释 采用贪心的策略,保证每次操作都是局部最优的,从而使最后得到的结果是全局最优的. 贪心算法问题需要满足的条件: (1)最优子结构:规模较大的问题的解由规模较小的子问题的解组成,规模较 ...

  2. 力扣刷题pdf(java版本,内含暗黑版和光明版),都在这里了

    BAT大佬力扣刷题pdf,都在这里了! ​相信很多小伙伴刷题的时候面对力扣上近两千道题目,感觉无从下手! 我找了很久,今天终于让找到了Java版leetcode算法题解笔记,强烈建议先按照本篇介绍pd ...

  3. 教你创建电脑、手机同步的markdown云笔记--力扣刷题力荐!

    开篇先致歉 其他不谈,开篇必须先给各位读者道个歉,年后工作上比较忙,加上最近闲暇的时间都用来在力扣上刷算法题了,导致公众号断更有些严重啊.再加上年后将健身减重提上了日程,时间上就更显的捉襟见肘了. 不 ...

  4. 《剑指Offer》力扣刷题笔记(03-10)

    <剑指Offer>力扣刷题笔记(03-10) 最近确实有点闲,想在进组搬砖之前找点有意义的事干,于是,就开始刷<剑指Offer>.<程序员面试金典>等书上的题目,也 ...

  5. 力扣刷题之二叉树的层序遍历

                                                      Welcome to you, 每日一刷系列 二叉树的层序遍历 二叉树的层序遍历II 二叉树的右视图 ...

  6. 『力扣刷题』5275_找出井字棋的获胜者 解题代码

    LeetCode-cn 力扣刷题 LeetCode-cn力扣刷题目录 165周赛 5275_找出井字棋的获胜者 * 5275. 找出井字棋的获胜者 显示英文描述* 用户通过次数0* 用户尝试次数0* ...

  7. 『力扣刷题』5276_不浪费原料的汉堡制作方案 解题代码

    LeetCode-cn 力扣刷题 LeetCode-cn力扣刷题目录 165周赛 5276_不浪费原料的汉堡制作方案 * 5276. 不浪费原料的汉堡制作方案 显示英文描述* 用户通过次数212* 用 ...

  8. 『力扣刷题』5238_找出给定方程的正整数解 解题代码

    html: embed_local_images: true embed_svg: true offline: true toc: undefined print_background: false ...

  9. 力扣刷题全局变量WA,局部变量AC的问题

    力扣刷题全局变量WA,局部变量AC问题 题目 原因 题目 golang力扣leetcode 1219.黄金矿工 原因 今天在刷题的时候,遇到一个现象,本地跑测试全部通过,一提交就错错错,非常离谱 然后 ...

  10. 力扣刷题-前k个高频元素

    力扣刷题-前k个高频元素 题目: 给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素.你可以按 任意顺序 返回答案. 示例 1: 输入: nums = [1,1,1,2 ...

最新文章

  1. java avl_Java底层实现AVL 平衡二叉树
  2. 传奇世界RollBall设计
  3. 常用10种PHP编辑器下载
  4. DroidPilot V2.1 手写功能特别版
  5. 【Git项目】想成为大咖,先从八卦大咖开始,这个GitHub项目你值得拥有
  6. 析构函数为什么写成虚函数?
  7. spring高级之AOP详解
  8. 分析Linux 0.11中的kernel部分的makefile文件
  9. I/O写入的原子性(Double Write)
  10. ansible的自动化管理
  11. VS2019详细安装教程
  12. 宝马无法gps定位_宝马5系GPS定位不准确怎么回事
  13. JAVA必备——Struts
  14. Compact, Redundant, Compressed, Dynamic的作用
  15. Android渠道包构建流程
  16. pointer-events用法
  17. sem_wait和sem_post
  18. 印度软件外包发展简记
  19. Linux CPU频率控制
  20. 快速检查(QuickCheck)(译)

热门文章

  1. easypanel b.php,easypanel 免费主机面板
  2. GPU 编程 CPU 异同点_22年后再战显卡市场 分析师:英特尔GPU不会构成威胁
  3. [安卓手机安装Apk ] 安卓手机通过数据线在电脑下载本地的Apk应用
  4. java银行项目_javabank项目
  5. 大话李白flash系列(在线看,全)
  6. 10--Django-ORM操作-choices参数、多对多的三种创建方式
  7. MT9255无法使用mm指令编译某个模块的问题
  8. [luoguT30208]太极剑
  9. 娱乐圈有缘无份的明星
  10. 转:[IDEA]Java:“程序包XXX不存在”问题的三种解决方案