一:题目:

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

注意:

可以认为区间的终点总是大于它的起点。
区间 [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. 无重叠区间(贪心经典题+思路+详解)相关推荐

  1. Leetcode 435.无重叠区间 (每日一题 20210708 同类型题)

    给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠.注意:可以认为区间的终点总是大于它的起点. 区间 [1,2] 和 [2,3] 的边界相互"接触",但没有相互重叠 ...

  2. 164. Leetcode 435. 无重叠区间 (贪心算法-贪心区间)

    class Solution:def eraseOverlapIntervals(self, intervals: List[List[int]]) -> int:if len(interval ...

  3. 通俗易懂:贪心算法(二):区间问题 (力扣435无重叠区间)

    看完本文,可以顺便解决leetcode以下题目: 435.无重叠区间(中等) 一.通俗易懂的 贪心算法 |思想 (重复一次~~~) 贪心算法就是采用贪心的策略,保证每一次的操作都是局部最优的,从而使得 ...

  4. 力扣记录:贪心算法3较难(1)区间问题——55 跳跃游戏,45 跳跃游戏II,452 用最少数量的箭引爆气球,435 无重叠区间,763 划分字母区间,56 合并区间

    本次题目 55 跳跃游戏 45 跳跃游戏II 452 用最少数量的箭引爆气球 435 无重叠区间 763 划分字母区间 56 合并区间 55 跳跃游戏 局部最优:不管每次跳多少步,取最大跳跃步数,若覆 ...

  5. 435. 无重叠区间

    435. 无重叠区间 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠. 注意: 可以认为区间的终点总是大于它的起点. 区间 [1,2] 和 [2,3] 的边界相互"接触& ...

  6. 2021年美赛A题思路详解

    2021年数模美赛A题思路详解 题目分析 思路详解 由于和队友思路不一致,导致最后我的思路只算了前两问,而后几问用了我认为离题的PCA(主成分分析)的方法,我的建模思路没有得到完全实现,总体情况很不满 ...

  7. 435. 无重叠区间(贪心算法)

    给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠. 注意: 可以认为区间的终点总是大于它的起点. 区间 [1,2] 和 [2,3] 的边界相互"接触",但没有相互 ...

  8. LeetCode 435. 无重叠区间(贪心/动态规划)

    文章目录 1. 题目 2. 解题 2.1 贪心 2.2 动态规划 1. 题目 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠. 注意: 可以认为区间的终点总是大于它的起点. 区间 ...

  9. LeetCode 435. 无重叠区间 做题小结

    题目 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠.注意:可以认为区间的终点总是大于它的起点. 区间 [1,2] 和 [2,3] 的边界相互"接触",但没有相 ...

最新文章

  1. 视觉SLAM中PNP求解
  2. SQL Server中遍历表中记录的方法
  3. 课时5:闲聊之Python的数据类型
  4. 【转】Glut处理鼠标事件
  5. 连载13:软件体系设计新方向:数学抽象、设计模式、系统架构与方案设计(简化版)(袁晓河著)...
  6. 金山办公科创板过会 雷军有望迎来实控第三家上市公司
  7. 【数据结构笔记22】图的遍历例题:拯救007(应用DFS)、六度空间(应用BFS)
  8. H264--H264编码--4
  9. 【工业控制】基于matlab多变量动态矩阵预测控制(DMC)【含Matlab源码 1499期】
  10. 常用汉字字体字号的介绍及选用原则
  11. Android 仿淘宝首页界面
  12. Unmapped Spring configuration files found. Please configure Spring facet
  13. ESP8266 读取MPU-6050数据OLED显示
  14. vue项目+高德地图
  15. unity reflect_使用Unity Reflect的不同方法
  16. 关于数学基础的研究现状
  17. php模板数组长度判断,Twig模板获取数组长度【原创】
  18. 王者荣耀6月23服务器维护,王者荣耀6月23日维护到几点 王者荣耀6月23日维护延期补偿...
  19. STM32的 DHT11温湿度模块+红外人体感应模块程序
  20. 三天两夜肝完这篇万字长文,终于拿下了TCP/IP

热门文章

  1. 互联网架构的演变,看了好多这个讲的确实清楚!
  2. 学妹,你要的C语言版AOE网络数据结构来了,就这么简单!
  3. VS2019社区版(Community)试用30天过期的有效解决办法
  4. Android之如何实现阿拉伯版本(RTL)的recycleView的网格布局
  5. C和指针之字符串简单实现strchr、strcmp函数
  6. linux之在当前目录下删除不包含aa的文件
  7. 《零基础看得懂的C语言入门教程 》——(十二)原来结构体是这么回事
  8. mysql 5.7 主从切换_mysql5.7 主从复制的正常切换【转】
  9. mysql丢失链接_MySQL远程连接丢失问题解决方法
  10. access的ole对象换成mysql_ACCESS的Ole对象读取写入