Skip to content

Commit 33feae4

Browse files
authored
Create 435. Non-overlapping Intervals.cpp
1 parent f596944 commit 33feae4

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
bool arr(pair<int,int> A,pair<int,int> B){
2+
if(A.first!=B.first) return A.first<B.first;
3+
else return A.second<B.second;
4+
}
5+
class Solution {
6+
public:
7+
8+
int eraseOverlapIntervals(vector<vector<int>>& intervals) {
9+
int i,j,k,n,m,ct=0;
10+
n=intervals.size();
11+
vector<pair<int,int>> vect;
12+
for(i=0;i<intervals.size();i++) vect.push_back({intervals[i][0],intervals[i][1]});
13+
sort(vect.begin(),vect.end(),arr);
14+
// for(i=0;i<vect.size();i++) cout<<vect[i].first<<" "<<vect[i].second<<endl;
15+
int st=-1e9,en=-1e9;
16+
for(i=0;i<n;i++){
17+
int st1= vect[i].first,en1 = vect[i].second;
18+
if(en<=st1 && st<=en1){
19+
ct++;
20+
st=st1;
21+
en=en1;
22+
}
23+
else{
24+
if(en1<=en){
25+
st=st1;en=en1;
26+
}
27+
else continue;
28+
}
29+
}
30+
return vect.size()-ct;
31+
}
32+
};

0 commit comments

Comments
 (0)