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;
    }
};
相关推荐
Macbethad7 分钟前
自动化测试技术报告
开发语言·lua
不会画画的画师13 分钟前
Go开发指南:io/ioutil包应用和迁移指南
开发语言·后端·golang
2503_9284115614 分钟前
12.22 wxml语法
开发语言·前端·javascript
咔咔咔的23 分钟前
3652. 按策略买卖股票的最佳时机
c++
59803541531 分钟前
【java工具类】小数、整数转中文大写
android·java·开发语言
JIngJaneIL39 分钟前
基于java + vue个人博客系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot
吃喝不愁霸王餐APP开发者1 小时前
Java后端服务在对接全国性霸王餐API时的多数据中心部署与就近调用策略
java·开发语言
froginwe111 小时前
jQuery UI 实例
开发语言
iAkuya1 小时前
(leetcode)力扣100 23反转链表(迭代||递归)
算法·leetcode·链表
这周也會开心1 小时前
128陷阱,==与equals区别
java·开发语言