当前位置:网站首页>[interval problem] 435 Non overlapping interval
[interval problem] 435 Non overlapping interval
2022-07-05 05:16:00 【lee2813】
One 、 subject
Given a set of intervals , Find the minimum number of intervals to remove , Keep the remaining intervals from overlapping .
Be careful :
It can be said that the end of an interval is always greater than its starting point .
Section [1,2] and [2,3] The boundaries of each other “ Contact ”, But there is no overlap .
Example 1:
Input : [ [1,2], [2,3], [3,4], [1,3] ]
Output : 1
explain : remove [1,3] after , There's no overlap in the rest .
Example 2:
Input : [ [1,2], [1,2], [1,2] ]
Output : 2
explain : You need to remove two [1,2] So that the rest of the intervals don't overlap .
Example 3:
Input : [ [1,2], [2,3] ]
Output : 0
explain : You don't need to remove any intervals , Because they are already non overlapping .
Two 、 Answer key
This problem involves removing the minimum number of intervals , Analysis leads to , To make the last number of intervals reserved more , As long as the value at the end of each interval is small enough . therefore , The greedy strategy is to preferentially keep the disjoint intervals with small endings .
- First , Sort each interval according to the element at the end of the interval ( Ascending )
- then , Compare the end element value of the interval with the start value to judge whether the interval intersects , Until the end of the comparison interval
The determination of the intersection of intervals in this question :
Start from the end of the first interval , Compare with the starting element of the next interval , If the starting element of the next interval is less than prev1, Then it means that the next interval overlaps with it , discarded . In this way, it is compared with the starting element of the lower interval in turn , Until the starting element of the next interval is greater than prev1, Description no overlap , to update prev2 Is the end element of the interval , cycle .
3、 ... and 、 Code
class Solution {
public:
int eraseOverlapIntervals(vector<vector<int>>& intervals) {
if(intervals.empty()) return 0;
int n = intervals.size();
sort(intervals.begin(),intervals.end(),[](vector<int>&a,vector<int>&b){
return a[1]<b[1];
});
int total = 0,prev = intervals[0][1];
for(int i = 1;i<n;i++){
if(intervals[i][0]<prev) total++;
else prev = intervals[i][1];
}
return total;
}
};
边栏推荐
- [paper notes] multi goal reinforcement learning: challenging robotics environments and request for research
- China polyurethane rigid foam Market Research and investment forecast report (2022 Edition)
- Es module and commonjs learning notes
- 使用命令符关闭笔记本自带键盘命令
- Lua determines whether the current time is the time of the day
- Solon 框架如何方便获取每个请求的响应时间?
- Embedded database development programming (V) -- DQL
- Lua wechat avatar URL
- Cocos create Jiugongge pictures
- Es module and commonjs learning notes -- ESM and CJS used in nodejs
猜你喜欢
National teacher qualification examination in the first half of 2022
Web APIs DOM节点
Embedded database development programming (V) -- DQL
LeetCode之单词搜索(回溯法求解)
2022年上半年国家教师资格证考试
Data is stored in the form of table
Unity get component
Merge sort
Embedded database development programming (VI) -- C API
UE fantasy engine, project structure
随机推荐
Learning notes of "hands on learning in depth"
FVP和Juno平台的Memory Layout介绍
3dsmax2018 common operations and some shortcut keys of editable polygons
Unity connects to the database
PostgreSQL surpasses mysql, and the salary of "the best programming language in the world" is low
cocos2dx_ Lua particle system
django连接数据库报错,这是什么原因
MD5 bypass
Unity shot tracking object
UE4/UE5 虚幻引擎,材质篇(三),不同距离的材质优化
[turn]: Apache Felix framework configuration properties
Animation
room数据库的使用
Embedded database development programming (VI) -- C API
2022上半年全国教师资格证下
质量体系建设之路的分分合合
Quick sort summary
Bubble sort summary
Cocos2dx Lua registers the touch event and detects whether the click coordinates are within the specified area
小程序直播+电商,想做新零售电商就用它吧!