LeetCode435.无重叠区间
给定一个区间的集合 intervals ,其中 intervals[i] = [starti, endi] 。返回 需要移除区间的最小数量,使剩余区间互不重叠 。
// 贪心算法_区间问题
#include<vector>
#include<algorithm>
class Solution {
public:
// static成员函数可以被非static成员函数任意访问
static bool cmp(vector<int> &a,vector<int> &b){
return a[1]<b[1];
}
int eraseOverlapIntervals(vector<vector<int>>& intervals) {
int size = intervals.size();
if(size < 2) return 0;
sort(intervals.begin(),intervals.end(),cmp);
int pre = intervals[0][1];
int count = 0;
for(int i=1;i<size;i++)
{
if(intervals[i][0] < pre)
count++;
else
pre = intervals[i][1];
}
return count;
}
};