C++速通LeetCode中等第9题-合并区间

排序后迭代,遇到符合条件的就删除前一项,合并到后一项。

cpp 复制代码
class Solution {
public:
    vector<vector<int>> merge(vector<vector<int>>& intervals) {
        int left = 0,right = 0;
        sort(intervals.begin(), intervals.end());
        vector<int> tmp;
        for(auto it = intervals.begin(); it != --(intervals.end()); )
        {
            if((*it)[1] >= (*(++it))[0])
            {
                left = (*(--it))[0];
                right = (*it)[1];
                it = intervals.erase(it);
                right = max(right,(*it)[1]);
                tmp.push_back(left);
                tmp.push_back(right);
                *(it) = tmp;
                tmp.clear();
            }
        }
        return intervals;
    }
};
相关推荐
Tanecious.13 分钟前
机器视觉--python基础语法
开发语言·python
叠叠乐19 分钟前
rust Send Sync 以及对象安全和对象不安全
开发语言·安全·rust
想跑步的小弱鸡20 分钟前
Leetcode hot 100(day 3)
算法·leetcode·职场和发展
Tttian6222 小时前
Python办公自动化(3)对Excel的操作
开发语言·python·excel
Merokes3 小时前
关于Gstreamer+MPP硬件加速推流问题:视频输入video0被占用
c++·音视频·rk3588
独好紫罗兰3 小时前
洛谷题单2-P5713 【深基3.例5】洛谷团队系统-python-流程图重构
开发语言·python·算法
闪电麦坤954 小时前
C#:base 关键字
开发语言·c#
Mason Lin4 小时前
2025年3月29日(matlab -ss -lti)
开发语言·matlab
请来次降维打击!!!4 小时前
优选算法系列(5.位运算)
java·前端·c++·算法
别NULL4 小时前
机试题——统计最少媒体包发送源个数
c++·算法·媒体