news 2026/6/10 5:11:56

贪心(一步步进阶)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
贪心(一步步进阶)

贪心算法

定义

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

解题第一般步骤

  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;}};
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 11:41:45

基于java的SpringBoot/SSM+Vue+uniapp的新能源汽车服务系统的详细设计和实现(源码+lw+部署文档+讲解等)

文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaitsPlus系统测试系统测试目的系统功能测试系统测试结论为什么选择我代码参考数据库参考源码获取前言 &#x1f31e;博主介绍&#xff1a;✌全网粉丝15W,CSDN特邀作者、211毕业、高级全…

作者头像 李华
网站建设 2026/6/10 11:40:22

Legacy iOS Kit终极教程:3步轻松实现旧设备恢复与iOS降级

Legacy iOS Kit终极教程&#xff1a;3步轻松实现旧设备恢复与iOS降级 【免费下载链接】Legacy-iOS-Kit An all-in-one tool to downgrade/restore, save SHSH blobs, and jailbreak legacy iOS devices 项目地址: https://gitcode.com/gh_mirrors/le/Legacy-iOS-Kit 还在…

作者头像 李华
网站建设 2026/6/10 11:38:36

Keyboard Chatter Blocker:告别键盘连击困扰的智能解决方案

Keyboard Chatter Blocker&#xff1a;告别键盘连击困扰的智能解决方案 【免费下载链接】KeyboardChatterBlocker A handy quick tool for blocking mechanical keyboard chatter. 项目地址: https://gitcode.com/gh_mirrors/ke/KeyboardChatterBlocker 你是否曾经遇到过…

作者头像 李华
网站建设 2026/6/9 21:30:36

大规模日志处理:Elasticsearch集群部署手把手教程

大规模日志处理&#xff1a;Elasticsearch集群部署实战指南你有没有经历过这样的夜晚&#xff1f;线上服务突然告警&#xff0c;用户反馈接口超时。你火速登录服务器&#xff0c;打开tail -f查看日志&#xff0c;却发现几十个微服务节点的日志像潮水般涌来——关键词淹没在成千…

作者头像 李华
网站建设 2026/6/10 11:41:36

如何让调节训练变得轻松有趣?你绝对想不到的秘密!

在近视防控日益受到重视的当下&#xff0c;调节训练作为保护眼健康的关键手段&#xff0c;却常常因需要额外投入时间和精力&#xff0c;让很多人尤其是青少年望而却步。传统调节训练往往要求使用者刻意配合&#xff0c;在固定时段完成特定动作&#xff0c;长期坚持下来枯燥又费…

作者头像 李华
网站建设 2026/6/10 11:42:50

Keyboard Chatter Blocker完整使用手册:彻底告别机械键盘连击烦恼

Keyboard Chatter Blocker完整使用手册&#xff1a;彻底告别机械键盘连击烦恼 【免费下载链接】KeyboardChatterBlocker A handy quick tool for blocking mechanical keyboard chatter. 项目地址: https://gitcode.com/gh_mirrors/ke/KeyboardChatterBlocker 你是否曾经…

作者头像 李华