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

代码随想录 | 贪心算法总结

贪心理论基础

在贪心系列开篇词贪心算法理论基础中,我们就讲解了大家对贪心的普遍疑惑。

  • 贪心很简单,就是常识?

贪心思路往往很巧妙,并不简单。

  • 贪心有没有固定的套路?

贪心无套路,也没有框架之类的,需要多看多练培养感觉才能想到贪心的思路。

贪心简单题

以下三道题目就是简单题,大家会发现贪心感觉就是常识。是的,如下三道题目,就是靠常识,但我都具体分析了局部最优是什么,全局最优是什么,贪心也要贪的有理有据!

  • 分发饼干
  • K次取反后最大化的数组和
  • 柠檬水找零

贪心中等题

贪心中等题,靠常识可能就有点想不出来了。开始初现贪心算法的难度与巧妙之处。

  • 摆动序列
  • 单调递增的数字

贪心解决股票问题

大家都知道股票系列问题是动规的专长,其实用贪心也可以解决,而且还不止就这两道题目,但这两道比较典型,我就拿来单独说一说

  • 买卖股票的最佳时机Ⅱ

两个维度权衡问题

在出现两个维度相互影响的情况时,两边一起考虑一定会顾此失彼,要先确定一个维度,再确定另一个一个维度。

  • 分发糖果
  • 根据身高重建队伍

贪心难题

这里的题目如果没有接触过,其实是很难想到的,甚至接触过,也一时想不出来,所以题目不要做一遍,要多练!

贪心解决区间问题

关于区间问题,大家应该印象深刻,有一周我们专门讲解的区间问题,各种覆盖各种去重。

  • 跳跃游戏
  • 跳跃游戏Ⅱ
  • 用最少数量的箭引爆气球
  • 无重叠区间
  • 划分字母区间
  • 合并区间

其他难题

最大子序和其实是动态规划的题目,但贪心性能更优,很多同学也是第一次发现贪心能比动规更优的题目。

加油站可能以为是一道模拟题,但就算模拟其实也不简单,需要把while用的很娴熟。但其实是可以使用贪心给时间复杂度降低一个数量级。

最后贪心系列压轴题目监控二叉树,不仅贪心的思路不好想,而且需要对二叉树的操作特别娴熟,这就是典型的交叉类难题了。

总结

这个图是 代码随想录知识星球 (opens new window)成员:海螺人 (opens new window)所画,总结的非常好,分享给大家。


http://www.kler.cn/a/283372.html

相关文章:

  • C语言 | Leetcode C语言题解之第556题下一个更大元素III
  • 陪诊问诊APP开发实战:基于互联网医院系统源码的搭建详解
  • INQUIRE:一个包含五百万张自然世界图像,涵盖10,000个不同物种的专为专家级文本到图像检索任务设计的新型基准数据集。
  • 2024/11/13 英语每日一段
  • TCP/IP协议,TCP和UDP区别
  • Openstack7--安装消息队列服务RabbitMQ
  • 负载均衡OJ项目详细解剖
  • Error running tomcat: Can‘t find catalina.jar
  • 给自己复盘的随想录笔记-哈希表
  • Furion+SqlSugar+Swagger企业级后端工程师 - 学习路线总目录
  • 【IEEE独立出版,快检索 | 高录用】第五届IEEE信息科学与教育国际学术会议(ICISE-IE 2024,12月20-22)
  • 如何禁止电脑访问网站
  • 一维/二维高斯分布的负对数似然推导
  • 【日常记录-Linux】.tar.xz、.tar.bz2、tar.gz解压
  • 8、嵌套循环 - 循环中的循环 - 课件
  • MySQL表分区与分表:概念、规则及应用案例
  • MyPrint打印设计器(四)vue3 函数式调用组件
  • vue3 使用vue-masonry加载更多,重新渲染
  • Java设计模式之装饰器模式详细讲解和案例示范
  • 深度学习:图像数据分析的革命
  • HTML静态网页成品作业(HTML+CSS)——电影肖申克的救赎介绍设计制作(1个页面)
  • jmeter连接mysql数据库以及常规用法
  • node环境安装、vue-cli搭建过程、element-UI搭建使用过程
  • 生产监控系统与生产控制系统区别
  • 【实践经验】端口被占用问题:listen tcp:bind:only one usage of each socket address
  • 文心智能体-梦想目标实现助手-实现你的老板梦