美文网首页工作生活
LeetCode-56. 合并区间

LeetCode-56. 合并区间

作者: 一只可爱的柠檬树 | 来源:发表于2019-06-28 19:26 被阅读0次

题目描述 合并区间

给出一个区间的集合,请合并所有重叠的区间。

示例

输入: [[1,3],[2,6],[8,10],[15,18]]
输出: [[1,6],[8,10],[15,18]]
解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].

解题思路

  • 按照列表每一个子列表的第一个元素对列表的所有元素进行排序。然后对相邻两个子元素进行两两比较。

  • 假设两个相邻的子元素分别为 [x1, y1] 和 [x2, y2],如果该区间可合并必须满足条件 y1 >= x2。
    若该区间可合并,合并结果可能有两种:
    当 y1 < y2 时,合并结果为 [x1, y2]
    当 y1 >= y2 时,合并结果为 [x1, y1]

代码

class Solution {
public:
    vector<vector<int>> merge(vector<vector<int>>& intervals) {
        vector<vector<int>> res;
        if(intervals.size()==0||intervals[0].size()==0) return res;
        if(intervals.size()==1) return intervals;
        sort(intervals.begin(), intervals.end(), [](vector<int> a, vector<int> b){
            return a[0] < b[0];
        });
        int x=intervals[0][0];
        int y=intervals[0][1];
        for(int i=1;i<intervals.size();i++){
            if(intervals[i][0]<=y){
                if(intervals[i][1]>y) y = intervals[i][1];
            }else{
                res.push_back({x, y});
                x = intervals[i][0];
                y = intervals[i][1];
            }
        }
        res.push_back({x, y});
        return res;
    }
};

相关文章

  • 区间合并算法

    0X00 区间合并 803. 区间合并 57. 插入区间

  • LeetCode 56 [Merge Intervals]

    原题 给出若干闭合区间,合并所有重叠的部分。 样例给出的区间列表 => 合并后的区间列表: 解题思路 首先,把区间...

  • 2018-12-26

    问题列表 合并两个有序链表 合并K个排序链表 合并区间 插入区间 问题与反馈 总结与收获 多个有序链表的合并,类似...

  • 命令lines

    HBQJ 【合并区间】可以选取两个相邻的尺寸区间进行合并,也可以选择间隔几个区间的两个区间以将两个区间及其中间的所...

  • LeetCode 56 合并区间

    56. 合并区间 给出一个区间的集合,请合并所有重叠的区间。 示例 1: 输入: [[1,3],[2,6],[8,...

  • LeetCode: 合并区间

    合并区间 题目叙述: 给出一个区间的集合,请合并所有重叠的区间。 示例: 示例1:输入: [[1,3],[2,6]...

  • 合并区间

    给出一个区间的集合,请合并所有重叠的区间。 思路: 将intervals按每一个元素的start进行升序排列。 此...

  • 合并区间

    描述:给出一个区间的集合,请合并所有重叠的区间。 示例 1: 输入: [[1,3],[2,6],[8,10],[1...

  • 合并区间

    题目来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/merg...

  • 合并区间

    题目描述:给出一个区间的集合,请合并所有重叠的区间 示例:输入: [[1,3],[2,6],[8,10],[15,...

网友评论

    本文标题:LeetCode-56. 合并区间

    本文链接:https://www.haomeiwen.com/subject/lrxmcctx.html