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;
    }
};
相关推荐
神仙别闹几秒前
基于QT(C++)实现(图形界面)连连看
java·c++·qt
Geoking.6 分钟前
深度理解 Java synchronized —— 从原理到实战
java·开发语言
sailing-data8 分钟前
【UI Qt】入门笔记
开发语言·qt·ui
好易学·数据结构9 分钟前
可视化图解算法73:跳台阶(爬楼梯)
数据结构·算法·leetcode·动态规划·笔试
NZT-489 分钟前
C++基础笔记(三)链表list
c++·笔记·链表
Salt_072810 分钟前
DAY32 类的定义和方法
开发语言·python·算法·机器学习
Tisfy14 分钟前
LeetCode 3433.统计用户被提及情况:(大)模拟
linux·算法·leetcode
未来影子16 分钟前
Java领域构建Agent新杀入一匹黑马(agentscope-java)
java·开发语言·python
不会写DN18 分钟前
JavaScript call、apply、bind 方法解析
开发语言·前端·javascript·node.js
阿里嘎多学长19 分钟前
2025-12-12 GitHub 热点项目精选
开发语言·程序员·github·代码托管