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;
    }
};
相关推荐
沐知全栈开发18 小时前
C 预处理器
开发语言
daad77718 小时前
WSL2_wifi驱动安装
开发语言·前端·javascript
穿条秋裤到处跑18 小时前
每日一道leetcode(2026.04.09):区间乘法查询后的异或 II
算法·leetcode
超级大只老咪19 小时前
一维度前缀和解题通用模板(java)
java·开发语言·算法
无限进步_19 小时前
【C++】重载、重写和重定义的区别详解
c语言·开发语言·c++·ide·windows·git·github
许杰小刀19 小时前
Python网络请求库,从 requests 到 httpx
开发语言·python·httpx
历程里程碑19 小时前
1 . Git本地操作:版本控制 跨平台协作 仓库核心
java·开发语言·数据结构·c++·git·gitee·github
小欣加油19 小时前
leetcode 42 接雨水
c++·算法·leetcode·职场和发展
ZXF_H19 小时前
VSCode C/C++函数Ctrl+鼠标点击无法跳转的解决方法
c++·ide·vscode
tankeven19 小时前
动态规划专题(14):石子合并问题(未完待续)
c++·算法·动态规划