目录

  • 题目
  • 自己的思路以及AC代码
  • 参考思路

题目

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

提示:

自己的思路以及AC代码

首先将数组s、g排序(按照值从小到大),这样就将小胃口孩子,小尺寸的饼干放在前面了。
接下来对饼干进行遍历:
如果这个饼干大于当前的孩子胃口,把它给这个孩子,转向下一个孩子,饼干也到下一个饼干。
如果不满足,孩子还是当前的孩子,饼干转到下一个饼干。
这样就能保证每个孩子吃到的是满足胃口的最小的尺寸饼干了。我想这也许就是贪心吧。
下面是AC代码:

class Solution {public:int findContentChildren(vector<int>& g, vector<int>& s) {//将孩子按照胃口大小排序,从小到大sort(g.begin(), g.end());//将饼干按照尺寸大小排序,从小到大sort(s.begin(), s.end());int i=0;for(int j=0;j<s.size();j++){if(i<g.size() && s[j] >= g[i]) {i++;}}return i;  }
};

接下来看看我参考的公众号的思路:

参考思路

大尺寸的饼干既可以满足胃口大的孩子也可以满足胃口小的孩子,那么就应该优先满足胃口大的。
局部最优:大饼干喂给胃口大的,充分利用饼干尺寸喂饱一个。
全局最优就是喂饱尽可能多的小孩。
从后向前遍历小孩数组,用大饼干优先满足胃口大的,并统计小孩数量。
这个思路正好和我是反过来的。
从代码实现上来说,我的外才能循环是饼干尺寸s,而这里的代码外层循环是胃口g。

class Solution {public:int findContentChildren(vector<int>& g, vector<int>& s) {//将孩子按照胃口大小排序,从小到大sort(g.begin(), g.end());//将饼干按照尺寸大小排序,从小到大sort(s.begin(), s.end());//饼干从最大的开始int j=s.size()-1;int result=0;//胃口从大到小for(int i=g.size()-1;i<g.size();i--){if(j>=0 && s[j] >= g[i]) {j--;result++;}}return result;  }
};

leetcode 455. 分发饼干 思考分析相关推荐

  1. leetcode: 455. 分发饼干

    455. 分发饼干 来源:力扣(LeetCode) 链接: https://leetcode.cn/problems/assign-cookies/ 假设你是一位很棒的家长,想要给你的孩子们一些小饼干 ...

  2. Java实现 LeetCode 455 分发饼干

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

  3. LeetCode 455. 分发饼干(贪心)

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

  4. Leetcode 455. 分发饼干 解题思路及C++实现

    解题思路: 这道题跟"田忌赛马"是一样的,对于孩子的胃口.饼干的尺寸这两个容器(数组),先进行排序,然后尽量用小尺寸的饼干满足小胃口的孩子,所以会用到贪心策略. 因为题目中并没有说 ...

  5. Leetcode 455.分发饼干 (每日一题 20210708 同类型题)

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

  6. leetcode 455. 分发饼干(贪心算法)

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

  7. leetcode 455 分发饼干(c++和python) 贪心算法

    目录 1 贪心算法: 2 题目描述 3 解题思路 4 c++ 5 python 1 贪心算法: 保证每次局部操作是最优解,从而是最终得到的结果是全局最优解. 2 题目描述 有一群孩子和一堆饼干,每个孩 ...

  8. 2022-4-9 Leetcode 455.分发饼干

    第一版,没有想到可以用后面的饼干来满足前面的人 class Solution {public:int findContentChildren(vector<int>& g, vec ...

  9. LeetCode 455. 分发饼干

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

最新文章

  1. 计算机对英语口语考试成绩,英语口语考试面对“电脑考官” 有何临场技巧
  2. Nginx+win10安装配置
  3. VTK:隐式二次元用法实战
  4. 【代码笔记】Web-CSS-CSS 链接(link)
  5. logback配置文件详解_Log4j2使用详解
  6. 编程判断元素归类_编程练习-判断是否为易混淆数
  7. nc 结合htc hts 反弹shell(内网代理环境下)
  8. 一图看懂边缘计算整体架构
  9. 《天天数学》连载11:一月十一日
  10. Java对数组的操作(一)
  11. android4.0 禁止横竖屏切换使用 android:configChanges=orientation|keyboardHidden无效
  12. 扩展php-bcmath,centos安装PHP扩展(bcmath)
  13. Pytho爬虫-4567电影网电影信息爬取
  14. C语言中的floor函数与cei函数
  15. A. Harry Klopf是谁?
  16. 浅析乡镇房地产产业现状及其对乡镇经济发展的推动力
  17. 如何做私域?私域流量运营怎么做?为什么今年都布局企业微信运营?(附企微运营干货)
  18. 高中关于人工智能方面的课题_人工智能课题及其认识意义.doc
  19. 全自动过滤器:全自动叠片过滤器工作原理及应用范围
  20. 织梦php模板在哪个文件夹,织梦模板如何修改默认templets模板文件夹名称的方法...

热门文章

  1. 七夕(情人节)表白女朋友,程序员应该如何装一波13
  2. oracle修改某表中的顺序,oracle 数据库 , 表中字段顺序修改
  3. 大津阈值分割matlab实验,OTSU(大津法)分割源程序(MATLAB版)
  4. java properties 保存_Java 读写Properties配置文件
  5. 宝塔php gd库,宝塔面板安装 EasyImag – 一款最简单图床的安装体验
  6. 详细解读css中的浮动以及清除浮动的方法
  7. 采访田飞师兄有感 ——by 李皈颖
  8. html笔记(一)html4+css2.0、css基础和属性、盒模型
  9. ASP.NET Core Razor Pages
  10. freopen()函数在ACM中的使用