LeetCode题解之区间合并(一)

194 阅读1分钟

按照区间左端点排序,再判断后面的ed和当前维护区间的关系,如果不想交,那就表示这个区间已经独立,可以更换维护的区间了

56. 合并区间

class Solution {
public:
    vector<vector<int>> merge(vector<vector<int>>& intervals) {
        vector<vector<int>> res;
        if(!intervals.size()) return res;
        sort(intervals.begin(), intervals.end());
        int l = intervals[0][0], r = intervals[0][1];
        for(auto tmp : intervals)
        {
            if(tmp[0] <= r) r = max(r, tmp[1]);
            else
            {
                res.push_back({l, r});
                l = tmp[0], r = tmp[1];
            } 
        }
        res.push_back({l, r});
        return res;
    }
};