本文介绍: 双指针算法、位运算、离散化、区间合并_小雪菜本菜的博客-CSDN博客给我们一堆没有任何交集的区间 把区间分为前面完全每交集的一部分,分成后面完全没交集的一部分,中间有交集的一部分中间有交集的一部分合并之后一定会变成一个区间从第k个区间开始连续一段存在与指定区间有相交的关系,需要将有相交关系的区间与指定区间进行合并,将合并后的区间加入到 res 中,当枚举的区间的 左端点 ……

合并区间

双指针算法、位运算、离散化、区间合并_小雪菜本菜的博客-CSDN博客

class Solution {
public:
    vector<vector<int>> merge(vector<vector<int>>& a) {
        vector<vector<int>> res;
        if(a.empty()) return res;

        sort(a.begin(),a.end());
        int l = a[0][0],r = a[0][1];
        for(int i = 0;i < a.size();i++ ) {
            if(a[i][0] > r) {
                res.push_back({l,r});
                l = a[i][0],r = a[i][1];
            } else r = max(r,a[i][1]);
        }
        res.push_back({l,r});
        return res;
    }
};

插入区间

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注