当前位置: 首页 > news >正文

代码随想录 Q84.分发饼干

思路一:优先考虑胃口,大饼干先喂饱大胃口

1.为了满足更多的小孩,就不要造成饼干尺寸的浪费。

2.大尺寸的饼干既可以满足胃口大的孩子也可以满足胃口小的孩子,那么就应该优先满足胃口大的。

3.局部最优和全局最优

(1)局部最优:把大饼干喂给胃口大的,充分利用饼干尺寸喂饱一个。

(2)全局最优:喂饱尽可能多的小孩。

4.贪心策略:

(1)先将饼干数组和小孩数组排序。

(2)从后向前遍历小孩数组,用大饼干优先满足胃口大的,并统计满足小孩的数量(注意是for循环遍历小孩数组,而不能遍历饼干数组,因为for循环的下标i是固定移动的,而if里面的下标index是符合条件才移动的)。

5.注意:

(1)如果for控制的是饼干,if控制的是胃口,就会出现如下情况,不可行:

(2)本题使用一个for循环控制小孩数组的遍历,一个index控制饼干数组的遍历即可,遍历饼干不需要再使用一个for循环(逻辑会变得更复杂),而是采用了自减的方式。

附代码:

class Solution {public int findContentChildren(int[] g, int[] s) {Arrays.sort(g);Arrays.sort(s);int count = 0;int index = s.length - 1;//遍历胃口for(int i = g.length - 1;i >= 0;i--){if(index >= 0 && g[i] <= s[index]){index --;count ++;}}return count;}
}

思路二:优先考虑饼干,先把小饼干喂给小胃口

附代码:

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

http://www.dtcms.com/a/585361.html

相关文章:

  • 11.8 脚本网页 打砖块max
  • 终极笔记应用程序Alexandrie
  • 「嵌」入未来,「式」界无限 · 第5篇:能源电力的智能化跃迁
  • 自动化实践(7.25):把 PsTools 接入 PowerShell / 批处理 / Ansible
  • 太原在线网站建设深圳网站关键词优化
  • AWS Lambda的安全之道:S3静态加密与运行时完整性检查的双重保障
  • 时序数据库选型指南从大数据视角看IoTDB的核心优势
  • 长沙网站建站模板创免费网站
  • dede 门户网站长春建站网站建设
  • Android Hilt 入门教程_传统写法和Hilt写法的比较
  • 【开题答辩全过程】以 个性化宿舍分配管理系统为例,包含答辩的问题和答案
  • wordpress站点制作武威网站制作公司哪个好
  • 【ZeroRange WebRTC】WebRTC 媒体安全:实现原理与应用(深入指南)
  • python3GUI--短视频社交软件 By:Django+PyQt5(前后端分离项目)
  • Rust 练习册 :Raindrops与FizzBuzz变体
  • Home Assistant Z-Pi 800全新硬件打造远距离智能家居体验
  • 易货电商新模式:小本钱撬动大市场,破解实体店“三大愁”
  • 做网站需要多少人网站建设价格很 好乐云seo
  • Java 大视界 -- 基于 Java 的大数据可视化在城市空气质量监测与污染溯源中的应用
  • 《玩转Docker》[应用篇16]:Docker安装部署HomeBox-家庭库存管理
  • 网站用什么布局wordpress怎么使用七牛云储存
  • Cursor接入Figma并使用的图文教程
  • Java基础——集合进阶4
  • CUDA C++编程指南(3.2.7)——内存同步域
  • 超市进销存源码
  • 100G相机接口
  • Linux第一个小程序 之 【进度条】
  • 网站建设的目的及功能定位网站建设落地页
  • CentOS 7 上安装 MySQL 8.0
  • LLM 训练基础概念与流程简介