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;
    }
};
相关推荐
牛奔12 小时前
Go 如何打印调试深层或嵌套的结构体
开发语言·后端·golang
geovindu13 小时前
go: Iterative Algorithms
开发语言·后端·算法·golang·迭代算法
学逆向的13 小时前
汇编——JCC指令
开发语言·汇编·网络安全
mayaairi14 小时前
JS循环语句深度解析:嵌套for、while与do...while
开发语言·前端·javascript
kite012114 小时前
Go语言Map深度解析与最佳实践
开发语言·后端·golang
闪电悠米15 小时前
力扣hot100-48.旋转图像-转置翻转详解
算法·leetcode·职场和发展
hold?fish:palm15 小时前
kv存储主从复制的设计与实现
c++·redis·后端
l1564694816 小时前
突围!图文混合知识库难以解析,Kimi-K3 原生视觉架构深耕知识工作,DMXAPI 统一接口,缩短项目开发周期
java·大数据·开发语言
啦啦啦啦啦zzzz16 小时前
算法:贪心算法
c++·算法·leetcode·贪心算法
charlie11451419116 小时前
现代C++工程实践 WeakPtr 实战(三):WeakPtrFactory 与「最后成员」惯用法
开发语言·c++·开源项目·现代c++