解法:贪心算法
class Solution {
public:
static bool cmp(vector<int>x, vector<int>y){ //静态成员函数
return x[1] < y[1];
}
int eraseOverlapIntervals(vector<vector<int>>& intervals) {
if(intervals.empty()) return 0;
sort(intervals.begin(),intervals.end(),cmp); //按区间结点从小到大排序
int end=intervals[0][1]; //最小区间尾结点
int res=0; //要删除区间数
for(int i=1;i<intervals.size();i++){
if(intervals[i][0] < end) //如果区间起点小于尾结点说明有交集,需要删除
++res;
else
end=intervals[i][1]; //否则没有交集,更新尾结点
}
return res;
}
};