题干:

代码:

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;
    }
};

本题跟上一题类似,都是关于区间重叠问题。唯一不同点在于计数器++的位置不一样,上一题是判断不重叠时加一,这题是重叠时加一,本质上就是根据题意修改代码。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部