为了账号安全,请及时绑定邮箱和手机立即绑定
首页 手记 【九月打卡】第16天...

【九月打卡】第16天 算法设计思想之“贪心算法”

2022.09.20 08:13 60浏览

课程名称:JavaScript版数据结构与算法
课程章节:第14章 算法设计思想之“贪心算法”
主讲老师:lewis

课程内容:

今天学习的内容包括:
14-1 贪心算法简介——获取局部的最优解的算法,最终结果不一定是最优的。
14-2 LeetCode:455. 分饼干——使用贪心算法,得到每一步的最优解,最终得到最优方案。

课程收获:

贪心算法

贪心算法是什么
  • 贪心算法是算法设计中的一种方法。
  • 期盼通过每个阶段的局部最优选择,从而达到全局的最优。
  • 结果并不一定是最优。

455. 分饼干

解题思路
  • 局部最优:既能满足孩子,还消耗较少的饼干。
  • 先将 “较小的饼干” 分给 “胃口最小” 的孩子。
解题步骤
  • 对饼干数组和胃口数组升序排序。
  • 遍历饼干数组,找到能满足第一个孩子的饼干。
  • 然后继续遍历饼干数组,找到满足第二、三、…、n个孩子的饼干。
性能分析
  • 时间复杂度:O(n*logn)。
  • 空间复杂度:O(1)。
tips
  • 对孩子胃口和饼干进行升序排序。
  • 循环饼干数组当饼干能满足孩子胃口时,则加一。
  • 复杂度O(nlogn)个人觉得有点难以接受,后面有时间看下怎么做刚好。

今天 通过 动态规划 学习了 分饼干算法题,在老师的引导下,让我觉得贪心算法很简单,没有想象中的那么复杂,增加了我对算法的信心,不过看到复杂度O(nlogn)感觉应该还是可以进一步优化下的。对自己说一句,加油😀~

坚持打卡,坚持学习!明天见💪~

https://img4.sycdn.imooc.com/632900680001928f25241352.jpg

https://img1.sycdn.imooc.com/632902ad000103c925291365.jpg

点击查看更多内容
0人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
全栈工程师
手记
粉丝
9
获赞与收藏
1

关注TA,一起探索更多经验知识

同主题相似文章浏览排行榜

风间影月说签约讲师

50篇手记,涉及Java、MySQL、Redis、Spring等方向

进入讨论

Tony Bai 说签约讲师

146篇手记,涉及Go、C、Java、Python等方向

进入讨论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消