leetcode 56. 合并区间

题目描述

代码:

cpp 复制代码
class Solution {
    struct Interval{
        int left;
        int right;
        Interval(int l=0,int r=0):left(l),right(r){}
        bool operator<(const Interval& rhs) const{
            return left<rhs.left;
        }
    };

public:
    vector<vector<int>> merge(vector<vector<int>>& intervals) {
        int len = intervals.size();
        vector<Interval> myIntervals(len);
        for(int i = 0;i <len;i++){
            myIntervals[i].left =intervals[i][0];
            myIntervals[i].right=intervals[i][1];
        }
        sort(myIntervals.begin(),myIntervals.end());
        vector<vector<int>> res;
        vector<int> range(2,0);
        int low = 0;
        int high = 0;
        for(int i = 1;i < len;i++){
            if(myIntervals[high].right >= myIntervals[i].right)
                continue;

            if(myIntervals[high].right >= myIntervals[i].left){
                high = i;
            }else{
                range[0] = myIntervals[low].left;
                range[1] = myIntervals[high].right;
                res.push_back(range);
                low = i;
                high = low;
            }
        }
        range[0] = myIntervals[low].left;
        range[1] = myIntervals[high].right;
        res.emplace_back(range);
        return res;
    }
};
相关推荐
穿条秋裤到处跑2 小时前
每日一道leetcode(2026.04.29):二维网格图中探测环
算法·leetcode·职场和发展
水蓝烟雨8 小时前
1931. 用三种不同颜色为网格涂色
算法·leetcode
leoufung10 小时前
LeetCode 76:Minimum Window Substring 题解与滑动窗口思维详解
算法·leetcode·职场和发展
风筝在晴天搁浅11 小时前
LeetCode 92.反转链表Ⅱ
算法·leetcode·链表
普贤莲花15 小时前
【2026年第18周---写于20260501】---舍得
程序人生·算法·leetcode
m0_6294947315 小时前
LeetCode 热题 100-----16.除了自身以外数组的乘积
数据结构·算法·leetcode
We་ct16 小时前
LeetCode 97. 交错字符串:动态规划详解
前端·算法·leetcode·typescript·动态规划
无敌昊哥战神16 小时前
【LeetCode 37】解数独 (Sudoku Solver) —— 回溯法详解 (Python/C/C++)
c语言·c++·python·算法·leetcode
风筝在晴天搁浅16 小时前
LeetCode 162.寻找峰值
算法·leetcode
罗超驿17 小时前
双指针算法经典案例:LeetCode 283. 移动零(Java详解)
java·算法·leetcode