给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。
注意:
    可以认为区间的终点总是大于它的起点。
    区间 [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
解释: 你不需要移除任何区间,因为它们已经是无重叠的了。
详见:https://leetcode.com/problems/non-overlapping-intervals/description/
C++:

/**
* Definition for an interval.
* struct Interval {
* int start;
* int end;
* Interval() : start(0), end(0) {}
* Interval(int s, int e) : start(s), end(e) {}
* };
*/
class Solution {
public:
int eraseOverlapIntervals(vector<Interval>& intervals) {
int res=0,n=intervals.size(),last=0;
sort(intervals.begin(),intervals.end(),[](const Interval &a,const Interval &b){return a.start<b.start;});
for(int i=1;i<n;++i)
{
if(intervals[i].start<intervals[last].end)
{
++res;
if(intervals[i].end<intervals[last].end)
{
last=i;
}
}
else
{
last=i;
}
}
return res;
}
};

参考:https://www.cnblogs.com/grandyang/p/6017505.html

最新文章

  1. 使用wait()与notify()实现线程间协作
  2. 如何提升我的HTML&amp;CSS技术,编写有结构的代码
  3. IOS第五课——Gesture and TableView
  4. 神一般的数据结构--可持久化TREAP
  5. libevent简介 构成
  6. 建立连接ALM的xml config文件
  7. UVa OJ 10071
  8. 升级、备份红帽PaaS openshift 上的 wordpress
  9. Contoso 大学 - 7 – 处理并发
  10. 【转】FTP自动上传文件的perl脚本以及配置文件
  11. C51 库函数(3)
  12. Android 获取网络链接类型
  13. codeforces 557D. Vitaly and Cycle 二分图染色
  14. Mac下使用charles遇到的问题以及解决办法
  15. 6.Java集合总结系列:常见集合类的使用(List/Set/Map)
  16. C# 图解教程 第四章 类的基本概念
  17. DG Switch over
  18. linux audit审计(2)--audit启动
  19. Java JDK 在Windows 10中配置环境变量
  20. html实现猜数字游戏

热门文章

  1. Android TextView设置个别字体样式
  2. Office EXCEL 中如何让一个单元格的数据链接到另一个工作表的数据
  3. vue 自定义 移动端筛选条件
  4. vue 定义全局函数
  5. ZOJ 2706 Thermal Death of the Universe (线段树)
  6. Jquery改动页面标题title其他JS失效
  7. C#实现如何判断一个数组中是否有重复的元素 返回一个数组升序排列后的位置信息--C#程序举例 求生欲很强的数据库 别跟我谈EF抵抗并发,敢问你到底会不会用EntityFramework
  8. 【Linux编程】进程终止和exit函数
  9. Linux bash介绍与使用
  10. Redis管理key命令