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;}
};
435. 无重叠区间(贪心经典题+思路+详解)相关推荐
- Leetcode 435.无重叠区间 (每日一题 20210708 同类型题)
给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠.注意:可以认为区间的终点总是大于它的起点. 区间 [1,2] 和 [2,3] 的边界相互"接触",但没有相互重叠 ...
- 164. Leetcode 435. 无重叠区间 (贪心算法-贪心区间)
class Solution:def eraseOverlapIntervals(self, intervals: List[List[int]]) -> int:if len(interval ...
- 通俗易懂:贪心算法(二):区间问题 (力扣435无重叠区间)
看完本文,可以顺便解决leetcode以下题目: 435.无重叠区间(中等) 一.通俗易懂的 贪心算法 |思想 (重复一次~~~) 贪心算法就是采用贪心的策略,保证每一次的操作都是局部最优的,从而使得 ...
- 力扣记录:贪心算法3较难(1)区间问题——55 跳跃游戏,45 跳跃游戏II,452 用最少数量的箭引爆气球,435 无重叠区间,763 划分字母区间,56 合并区间
本次题目 55 跳跃游戏 45 跳跃游戏II 452 用最少数量的箭引爆气球 435 无重叠区间 763 划分字母区间 56 合并区间 55 跳跃游戏 局部最优:不管每次跳多少步,取最大跳跃步数,若覆 ...
- 435. 无重叠区间
435. 无重叠区间 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠. 注意: 可以认为区间的终点总是大于它的起点. 区间 [1,2] 和 [2,3] 的边界相互"接触& ...
- 2021年美赛A题思路详解
2021年数模美赛A题思路详解 题目分析 思路详解 由于和队友思路不一致,导致最后我的思路只算了前两问,而后几问用了我认为离题的PCA(主成分分析)的方法,我的建模思路没有得到完全实现,总体情况很不满 ...
- 435. 无重叠区间(贪心算法)
给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠. 注意: 可以认为区间的终点总是大于它的起点. 区间 [1,2] 和 [2,3] 的边界相互"接触",但没有相互 ...
- LeetCode 435. 无重叠区间(贪心/动态规划)
文章目录 1. 题目 2. 解题 2.1 贪心 2.2 动态规划 1. 题目 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠. 注意: 可以认为区间的终点总是大于它的起点. 区间 ...
- LeetCode 435. 无重叠区间 做题小结
题目 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠.注意:可以认为区间的终点总是大于它的起点. 区间 [1,2] 和 [2,3] 的边界相互"接触",但没有相 ...
最新文章
- 视觉SLAM中PNP求解
- SQL Server中遍历表中记录的方法
- 课时5:闲聊之Python的数据类型
- 【转】Glut处理鼠标事件
- 连载13:软件体系设计新方向:数学抽象、设计模式、系统架构与方案设计(简化版)(袁晓河著)...
- 金山办公科创板过会 雷军有望迎来实控第三家上市公司
- 【数据结构笔记22】图的遍历例题:拯救007(应用DFS)、六度空间(应用BFS)
- H264--H264编码--4
- 【工业控制】基于matlab多变量动态矩阵预测控制(DMC)【含Matlab源码 1499期】
- 常用汉字字体字号的介绍及选用原则
- Android 仿淘宝首页界面
- Unmapped Spring configuration files found. Please configure Spring facet
- ESP8266 读取MPU-6050数据OLED显示
- vue项目+高德地图
- unity reflect_使用Unity Reflect的不同方法
- 关于数学基础的研究现状
- php模板数组长度判断,Twig模板获取数组长度【原创】
- 王者荣耀6月23服务器维护,王者荣耀6月23日维护到几点 王者荣耀6月23日维护延期补偿...
- STM32的 DHT11温湿度模块+红外人体感应模块程序
- 三天两夜肝完这篇万字长文,终于拿下了TCP/IP
热门文章
- 互联网架构的演变,看了好多这个讲的确实清楚!
- 学妹,你要的C语言版AOE网络数据结构来了,就这么简单!
- VS2019社区版(Community)试用30天过期的有效解决办法
- Android之如何实现阿拉伯版本(RTL)的recycleView的网格布局
- C和指针之字符串简单实现strchr、strcmp函数
- linux之在当前目录下删除不包含aa的文件
- 《零基础看得懂的C语言入门教程 》——(十二)原来结构体是这么回事
- mysql 5.7 主从切换_mysql5.7 主从复制的正常切换【转】
- mysql丢失链接_MySQL远程连接丢失问题解决方法
- access的ole对象换成mysql_ACCESS的Ole对象读取写入