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

贪心(一步步进阶)

贪心算法

定义

贪心算法是在对问题求解时 总是做出在当前看来时最好的选择(局部最优来达到全局最优)
贪心算法并不是对所有问题都可以得到整体的最优解 关键是贪心策略的选择 选择的贪心邪恶略必须具有无后效性就是说某个状态以前的过程不会影响以后的状态 只于当前状态有关

解题第一般步骤

  1. 建立数学模型来描述问题
  2. 把求解的问题分成若干子问题
  3. 对每一子问题求解 得到子问题的局部最优解
  4. 把子问题的最优解合并为原来问题的一个解

贪心题目

LeetCode 435 无重复区间

LeetCode435

classSolution{public:interaseOverlapIntervals(vector<vector<int>>&intervals){//按照结尾时间的大小排序//如果a[0]==b[0]也不用考虑顺序问题//因为我们只用判断能不能一次更新一下end就行了//不必在意两个区间的开始时间相同时的情况了sort(intervals.begin(),intervals.end(),[](autoa,autob){returna[1]<b[1];});//到这里已经排好序了 按照结束时间排序intnum=1;//一次能有几个区间intend=intervals[0][1];//当前的结尾时刻for(intj=1;j<intervals.size();++j){if(end<=intervals[j][0]){//如果可以更新结尾时刻end=intervals[j][1];//更新结尾num++;//数量++}}//总区间个数-一次的区间个数=需要删除的区间个数returnintervals.size()-num;//返回要删除的区间个数}};

LeetCode 452 用最少数量的箭引爆气球

LeetCode 452

classSolution{public:intfindMinArrowShots(vector<vector<int>>&points){//先让数组按照气球结束区间排序sort(points.begin(),points.end(),[](autoa,autob){returna[1]<b[1];});intnum=1;//当前的结果 就时弓箭的个数intcurr=points[0][1];//目前的结尾for(inti=1;i<points.size();++i){if(curr<points[i][0]){//如果以当前结尾的弓箭不能射到这个i位置的气球num++;curr=points[i][1];}//如果以当前结尾的弓箭能射到这个i位置的气球 就直接j++ 就行了 就是下一次循环}returnnum;}};
http://www.jsqmd.com/news/125446/

相关文章:

  • YOLOv11 改进 - 注意力机制 | Mask Attention掩码注意力,可学习掩码矩阵破解低分辨率特征提取难题 | 2025 预印
  • 基于RS-485的奇偶校验应用完整指南
  • 软件工程实践总结 —— 郑标铭
  • vxe-table 按多个列进行分组和按多个字段进行分组的使用方式
  • 站点回复管理系统
  • RNN/LSTM时序数据处理,从文本生成到股价预测
  • PyTorch在树莓派5上的人脸追踪实战应用详解
  • Eclipse JDT Core for Java Code Formatter
  • 102302136林伟杰_综合实践个人博客
  • ChatGPT可手动调温、谷歌推出 A2UI 标准、通义千问推出 Qwen-Image-Layered 模型、多智能体可信标准在ITU立项
  • 存储器介绍(2)
  • L298N如何提升智能小车运动精度?全面讲解
  • 哪些领域或行业可能会因为 AI 技术的应用而迎来爆发性的增长?
  • AI报告审核助手:首批数字员工的核心落地形态与技术演进
  • AI报告审核助手:首批数字员工的核心落地形态与技术演进
  • 102302110_高悦_综合实践个人总结报告
  • Java 将 PowerPoint 转换为 HTML:实现跨平台展示与Web集成
  • Windows Defender永久禁用:系统优化终极解决方案
  • SMC磁耦合式无杆缸清洁
  • 如何通过ERP系统提升服装公司的管理效率?
  • I2S硬件连接:入门必看的引脚分配说明
  • Hotkey Detective终极指南:3步解决Windows热键冲突难题
  • Java代码
  • 使用 Git LFS 管理大文件
  • 从零实现UDS 28服务安全访问请求响应
  • 2025写文盘点:为了不被日更逼疯,我亲测了10款主流【ai写小说】工具
  • 基于java的SpringBoot/SSM+Vue+uniapp的新能源汽车服务系统的详细设计和实现(源码+lw+部署文档+讲解等)
  • 使用NPN三极管构建蜂鸣器电路手把手教程
  • 工业报警系统设计:蜂鸣器选型完整指南
  • 应用——MPlayer 媒体播放器系统代码详解