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;
    }
};
相关推荐
闻缺陷则喜何志丹3 分钟前
【计算几何】仿射变换与齐次矩阵
c++·数学·算法·矩阵·计算几何
chen_ever5 分钟前
Protobuf详解(从安装到实战)
c++·rpc·信息与通信
徐先生 @_@|||17 分钟前
(Wheel 格式) Python 的标准分发格式的生成规则规范
开发语言·python
利剑 -~20 分钟前
jdk源码解析
java·开发语言
Predestination王瀞潞26 分钟前
JDK安装及环境变量配置
java·linux·开发语言
lsx20240631 分钟前
Python break 语句详解
开发语言
hmbbcsm31 分钟前
python做题小记(八)
开发语言·c++·算法
再睡一夏就好1 小时前
深入Linux线程:从轻量级进程到双TCB架构
linux·运维·服务器·c++·学习·架构·线程
wyzqhhhh1 小时前
京东啊啊啊啊啊
开发语言·前端·javascript
JIngJaneIL1 小时前
基于java+ vue助农电商系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端