435. 无重叠区间(贪心经典题+思路+详解)

一:题目:

给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。

注意:

可以认为区间的终点总是大于它的起点。
区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。
示例 1:

输入: [ [1,2], [2,3], [3,4], [1,3] ]输出: 1

解释: 移除 [1,3] 后,剩下的区间没有重叠。
示例 2:

输入: [ [1,2], [1,2], [1,2] ]输出: 2

解释: 你需要移除两个 [1,2] 来使剩下的区间没有重叠。
示例 3:

输入: [ [1,2], [2,3] ]输出: 0

解释: 你不需要移除任何区间,因为它们已经是无重叠的了。

二:思路

思路:1.我们按照每个区间的右边界,进行升序处理
2.求出第一个区间的右边界,让第二个区间的左边界跟右边界进行比较 大于等于的话,
那么就更新右边界,同时记录 这是不相交的区间个数
3.用区间的总个数 - 不相交的个数 = 要除去的相交的个数

三:上码

class Solution {
public:static bool comp(vector<int>& a,vector<int>& b){return a[1] < b[1];}int eraseOverlapIntervals(vector<vector<int>>& intervals) {/**思路:1.我们按照每个区间的右边界,进行升序处理2.求出第一个区间的右边界,让第二个区间的左边界跟右边界进行比较 大于等于的话,那么就更新右边界,同时记录 这是不相交的区间个数3.用区间的总个数 - 不相交的个数 = 要除去的相交的个数  */int size = intervals.size();if(size == 0){return 0; }//按右边界升序处理sort(intervals.begin(),intervals.end(),comp);int count = 1;//第一个选取出来的区间int temp = intervals[0][1];//第一个区间的右边界for(int i = 1; i < size; i++){if(temp <= intervals[i][0]){//大于前一个区间的右边界temp = intervals[i][1];count++;}}return intervals.size() - count;}
};  

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/308232.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UEFI + GPT 启动 VHD

说明 周五&#xff0c;笔记本充不进电了&#xff0c;还好我的系统是做到 VHD 中的&#xff0c;把硬盘拿出来&#xff0c;插到其它机器上&#xff0c;从我的硬盘启动就可以了&#xff08;虽然当时没有从我的系统启动&#xff0c;因为只需要等待一天&#xff0c;周末就可以去修电…

html列表变成三个一行,HTML列表仅限第一行缩进

将文本包装到项目符号右侧的原因是浏览器将整个list-item元素呈现在项目符号的右侧。它将始终将文本包装在包含文本的元素中。最简单的解决方案是不使用内置列表项目项目符号。取而代之的是创建一个你喜欢的子弹的图像并使用float&#xff1a;left将它放在左上角。文本将围绕它…

vector容器中重写sort方法

一&#xff1a;问题描述 1&#xff1a; 我们常用的vector中sort方法是升序的但我们可以通过重新定义sort方法即可实现其的降序处理&#xff0c;以前总是在结构体数组当中用到过重写sort方法&#xff0c;但其实在vector当中也是可以用的 2&#xff1a; 我们在调用的时候注意…

基于Prometheus和Grafana打造业务监控看板

前言 业务监控对许许多多的场景都是十分有意义&#xff0c;业务监控看板可以让我们比较直观的看到当前业务的实时情况&#xff0c;然后运营人员可以根据这些情况及时对业务进行调整操作&#xff0c;避免业务出现大问题。老黄曾经遇到过一次比较尴尬的“事故”。其中一条业务线&…

广西高考成绩查询2021,2021年广西高考个人排名怎么查询,广西高考成绩排名查询方法...

高考成绩公布后&#xff0c;很多家长和学生咨询我们&#xff0c;广西高考个人成绩排名位次如何查询&#xff1a;广西高考成绩排名&#xff0c;可以通过省招生考试院发布的广西一分一段表来查询&#xff0c;也可以到聚志愿网站直接输入分数查询&#xff0c;一分一段它显示每一个…

452. 用最少数量的箭引爆气球(贪心算法+思路+详解)07

一&#xff1a;题目 在二维空间中有许多球形的气球。对于每个气球&#xff0c;提供的输入是水平方向上&#xff0c;气球直径的开始和结束坐标。由于它是水平的&#xff0c;所以纵坐标并不重要&#xff0c;因此只要知道开始和结束的横坐标就足够了。开始坐标总是小于结束坐标。…

10-1 5-1 查询销售便携式电脑但不销售PC的厂商 (20 分)(分析+详解)

一&#xff1a;题目 本题目要求编写SQL语句&#xff0c; 查询销售便携式电脑但不销售PC的厂商。 提示&#xff1a;请使用SELECT语句作答。 表结构: CREATE TABLE product ( maker CHAR(20) , --制造商model CHAR(20) NOT NULL, --产品型号type CHAR(20), …

在.NET Core中使用MongoDB明细教程(1):驱动基础及文档插入

MongoDB&#xff0c;被归类为NoSQL数据库&#xff08;其实我更觉得MongoDb是介于关系型数据库和非关系型数据库之间&#xff0c;此外&#xff0c;在我看来在很多场景中MongoDb都可以取代关系型数据库。&#xff09;&#xff0c;是一个以类JSON格式存储数据的面向文档的数据库系…

10-2 5-2 查询至少生产两种不同的计算机(PC或便携式电脑)且机器速度至少为133的厂商 (20 分)(思路加详解+测试用例)

一&#xff1a;题目 本题目要求编写SQL语句&#xff0c; 查询至少生产两种不同型号的计算机(PC或便携式电脑)且机器速度至少为133的厂商&#xff0c;输出结果按照制造商升序排列。 提示&#xff1a; 本题有三种情况: &#xff08;1&#xff09; 至少生产两种不同PC的厂商 &a…

ASP.NET Core学习资源汇总

ASP.NET Core入门学习资源汇总篇幅比較長&#xff0c;分为七个部分。&#xff08;一&#xff09;认识.NET Core&#xff08;二&#xff09;Vistual Studio安装、调试&#xff08;三&#xff09;Asp.Net Core入门指南与学习路线&#xff08;四&#xff09;入门级实战项目手册、官…

用计算机探索 按一定规律排列,探索规律练习题1

探索规律练习题1、我们平常用的数是十进制数&#xff0c;如26392103610231019100&#xff0c;表示十进制的数要用10个数码(又叫数字)&#xff1a;0&#xff0c;1&#xff0c;2&#xff0c;3&#xff0c;4&#xff0c;5&#xff0c;6&#xff0c;7&#xff0c;8&#xff0c;9。在…

简单快速导出word文档

最近&#xff0c;我写公司项目word导出功能&#xff0c;应该只有2小时的工作量&#xff0c;却被硬生生的拉长2天&#xff0c;项目上线到业务正常运行也被拉长到2个星期。为什么如此浪费时间呢&#xff1f;1&#xff09;公司的项目比较老&#xff0c;采用硬编码模式&#xff0c;…

如何让多端口网站用一个nginx进行反向代理实际场景分析

前段时间公司要整合服务器资源&#xff0c;刚好趁这次机会将这些乱七八糟的服务器做一次梳理和整合&#xff0c;断断续续一个月迁移完成大概优化掉了1/3的机器&#xff0c;完成之后遇到了一些问题&#xff0c;比如曾今零零散散部署在生产上一些可视化UI&#xff1a;apollo&…

【Azure Show】|第五期(下)当下最火热的Blazor与App Service, 嘉宾闫晓迪Alan Tsai...

欢迎来到Azure Show!Azure Show欢迎来到Azure Show第五期&#xff08;下&#xff09;&#xff0c;继上集分享彭爱华和阿法兔两位老师的跨界经验之后&#xff0c;本期我们【MVP面对面】栏目邀请到远在新西兰的微软最有价值专家闫晓迪和大家聊聊新西兰的技术生态&#xff0c;当然…

台式计算机听音乐,配置一台4000元的台式电脑,主要用于日常办公及上网查资料,听音乐,看电影及学习....

满意答案asshnjgs2014.04.02采纳率&#xff1a;44% 等级&#xff1a;9已帮助&#xff1a;861人CPU&#xff1a;Intel 赛扬D341 2.93G(散) CPU适用类型:台式CPU CPU内核:Prescott 主频(MHz):2930MHz 插槽类型:Socket 775 制作工艺(微米):0.09 微米 L2缓存(KB):256KB FSB(MHz)…

ASP.NET Core Blazor Webassembly 之 组件

关于组件现在前端几大轮子全面组件化。组件让我们可以对常用的功能进行封装&#xff0c;以便复用。组件这东西对于搞.NET的同学其实并不陌生&#xff0c;以前ASP.NET WebForm的用户控件其实也是一种组件。它封装html代码&#xff0c;封装业务逻辑&#xff0c;对外提供属性事件等…

122. 买卖股票的最佳时机 II008(贪心算法+思路)

一&#xff1a;题目 给定一个数组 prices &#xff0c;其中 prices[i] 是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易&#xff08;多次买卖一支股票&#xff09;。 注意&#xff1a;你不能同时参与多笔交易&#xf…

广东省计算机应用考试题,广东省计算机等级考试一级试题

广东省计算机等级考试一级试题一、理论部分 (共20分&#xff0c;每空1分)将正确答案填写在考试文件夹中“第一题答案.XLS”的Sheet1相应的位置上1. 解释程序的功能是 ( )。A解释执行高级语言源程序 B将高级语言源程序翻译成目标程序C解释执行汇编语言源程序 D将汇编语言源程序翻…

麒麟系统兼容安卓生态 弥补生态短板

日前&#xff0c;麒麟软件发布了银河麒麟操作系统最新版本V10。据媒体报道&#xff0c;麒麟软件是国内唯一一个通过CMMI5级质量评估的操作系统企业&#xff0c;在XC市场份额占有率达到70%以上。麒麟V10系统可以兼容安卓生态。集成了自研的UKUI桌面环境&#xff0c;支持多壁纸、…

763. 划分字母区间009(贪心算法+思路+详解+图示)

一&#xff1a;题目&#xff1a; 字符串 S 由小写字母组成。我们要把这个字符串划分为尽可能多的片段&#xff0c;同一字母最多出现在一个片段中。返回一个表示每个字符串片段的长度的列表。 示例&#xff1a; 输入&#xff1a;S "ababcbacadefegdehijhklij" 输出…