题干:
代码:
class Solution {
public:static bool cmp(vector<int>& a, vector<int>& b){return a[0] < b[0];}int eraseOverlapIntervals(vector<vector<int>>& intervals) {sort(intervals.begin(), intervals.end(), cmp);int tmp = 0;for(int i = 1; i < intervals.size(); i++){if(intervals[i][0] >= intervals[i - 1][1]);//读题:可以取等,例子告知边界重合不算重叠else{intervals[i][1] = min(intervals[i][1], intervals[i - 1][1]);tmp++;}}return tmp;}
};
本题跟上一题类似,都是关于区间重叠问题。唯一不同点在于计数器++的位置不一样,上一题是判断不重叠时加一,这题是重叠时加一,本质上就是根据题意修改代码。