![在这里插入图片描述](https://img-blog.csdnimg.cn/4c00204ac4ab48d4b8167a5a5ac15f87.png#pic_center)
LeetCode 435 无重叠区间 题解
一、题型归类
贪心
二、思路
1.贪心问题匹配:
1.选择合适的贪心策略: 分析题干,选择的区间结尾越小,就会有跟多的区间留下来,所以采取的贪心策略为:优先保留结尾小且不相交的区间。
2.具体思路:首先对整个vector进行自定义排序,按照结尾的大小进行增序排序,然后再对vector进行遍历,优先保留区间长度较小的区间,比较每个区间的结尾,对区间个数进行计数。
2.代码:
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 ret=0,tmp=intervals[0][1];
for(int i=1;i<n;i++){
if(intervals[i][0]<tmp) ret++;
else tmp=intervals[i][1];
}
return ret;
}
};