435. Non-overlapping Intervals
来源:互联网 发布:剧情java游戏 编辑:程序博客网 时间:2024/06/14 00:34
题目:
435. Non-overlapping Intervals
- Total Accepted: 10154
- Total Submissions: 25196
- Difficulty: Medium
- Contributors: love_Fawn
Given a collection of intervals, find the minimum number of intervals you need to remove to make the rest of the intervals non-overlapping.
Note:
- You may assume the interval's end point is always bigger than its start point.
- Intervals like [1,2] and [2,3] have borders "touching" but they don't overlap each other.
Example 1:
Input: [ [1,2], [2,3], [3,4], [1,3] ]Output: 1Explanation: [1,3] can be removed and the rest of intervals are non-overlapping.
Example 2:
Input: [ [1,2], [1,2], [1,2] ]Output: 2Explanation: You need to remove two [1,2] to make the rest of intervals non-overlapping.
Example 3:
Input: [ [1,2], [2,3] ]Output: 0Explanation: You don't need to remove any of the intervals since they're already non-overlapping.
解题思路:
此题和上次做的Minimum Number of Arrows to Burst Balloons是类似的,这题和上课讲的开会的例子就基本一样, 本题要求删除最少使得剩下的不重叠,开会的例子是要求最多的不重叠的数目,其实本质是一样的。做法都是先按照终止点从小到大排序,再比较每一个的起点是否小于上一个终止点,如果是则与上一个重叠,需要删除;如果不是,则不需要删除,上一个终止点更改为这个的终止点。代码也和上次做的题目差不多,再做一次类似的题目就当熟悉一下吧...
代码:
/** * 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) { if(intervals.size() == 0) return 0; int count = 0; sort(intervals.begin(), intervals.end(), comp); int last_end = intervals[0].end; for(int i = 1; i < intervals.size(); i++){ if(intervals[i].start < last_end){ count++; continue; } last_end = intervals[i].end; } return count; } static bool comp(Interval a, Interval b){ return a.end == b.end ? a.start < b.start : a.end < b.end; }};
0 0
- 435. Non-overlapping Intervals
- 435. Non-overlapping Intervals
- 435. Non-overlapping Intervals
- 435. Non-overlapping Intervals
- 435. Non-overlapping Intervals
- 435. Non-overlapping Intervals
- 435. Non-overlapping Intervals
- 435. Non-overlapping Intervals
- 435. Non-overlapping Intervals
- 435. Non-overlapping Intervals
- 435. Non-overlapping Intervals
- 435. Non-overlapping Intervals
- LeetCode 435. Non-overlapping Intervals
- leetcode 435. Non-overlapping Intervals
- [Leetcode] 435. Non-overlapping Intervals
- 【LeetCode】 435. Non-overlapping Intervals
- Leetcode 435. Non-overlapping Intervals
- LeetCode 435. Non-overlapping Intervals
- CCF NOI1015 星期几
- 几种决策树学习算法比较
- Leetcode 290. Word Pattern
- oracle存储过程中的while loop循环示例
- 刷新当前目录下所有文件的shell脚本
- 435. Non-overlapping Intervals
- Ajax学习笔记之服务器响应状态
- Linux-添加环境变量
- Maven 手动添加 JAR 包到本地仓库
- QT模块简介
- Swift 版本历史记录
- Mybatis Github官方下载
- 如何自动编写Makefile
- curl与HttpURLConnection