news 2026/6/15 15:04:11

贪心(一步步进阶)

作者头像

张小明

前端开发工程师

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/15 12:23:17

STM32F1系列实现I2C HID从机操作指南

用STM32F1打造I2C HID从机&#xff1a;从协议解析到实战落地 你有没有遇到过这样的场景&#xff1f;系统主控的USB接口已经满载&#xff0c;却还要接入一个触摸面板或旋钮编码器&#xff1b;又或者产品对功耗和成本极为敏感&#xff0c;根本不想为一个简单的输入设备配上复杂的…

作者头像 李华
网站建设 2026/6/15 12:20:18

基于java的SpringBoot/SSM+Vue+uniapp的火灾报警系统的详细设计和实现(源码+lw+部署文档+讲解等)

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

作者头像 李华
网站建设 2026/6/14 20:51:32

AD导出Gerber文件在团队协作项目中的版本管理(深度剖析)

一次“导出Gerber”的背后&#xff1a;如何让团队协作不再为PCB文件版本扯皮&#xff1f;你有没有遇到过这样的场景&#xff1a;工厂打回来的板子缺了阻焊层&#xff0c;查了一圈才发现是某位同事导出时漏勾了一项&#xff1b;团队里五个人都叫“最终版_V2”&#xff0c;但没人…

作者头像 李华
网站建设 2026/6/11 18:33:34

ComfyUI-Manager低配置设备优化完整指南

ComfyUI-Manager低配置设备优化完整指南 【免费下载链接】ComfyUI-Manager 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-Manager 你是否还在为老旧电脑运行ComfyUI时的卡顿、崩溃而烦恼&#xff1f;这篇完整指南将教你如何通过ComfyUI-Manager将低配置设备的…

作者头像 李华
网站建设 2026/6/15 14:21:39

高效Windows Defender Control:系统安全管理的实战解决方案

高效Windows Defender Control&#xff1a;系统安全管理的实战解决方案 【免费下载链接】defender-control An open-source windows defender manager. Now you can disable windows defender permanently. 项目地址: https://gitcode.com/gh_mirrors/de/defender-control …

作者头像 李华
网站建设 2026/6/14 17:12:01

AMD Ryzen处理器调试终极指南:SMUDebugTool实战详解

AMD Ryzen处理器调试终极指南&#xff1a;SMUDebugTool实战详解 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://gitc…

作者头像 李华