57. 插入区间

57. 插入区间


题目链接:57. 插入区间

代码如下:

cpp 复制代码
class Solution {
public:
    vector<vector<int>> insert(vector<vector<int>>& intervals, vector<int>& newInterval) {
        vector<vector<int>> res;

        //插入后进行区间合并
        intervals.push_back(newInterval);
        sort(intervals.begin(),intervals.end());

        for (int i = 0; i < intervals.size(); i++)
        {
            int left = intervals[i][0], right = intervals[i][1];
               
            //结果为空或者上个区间的右端点小于现区间的左端点,证明不连续,就放进去
            if (res.empty() || res.back()[1] < left)
            {
                res.push_back({left,right});
            }
            else//连续,就更新左右端点
            {
                res.back()[1] = max(res.back()[1], right);
            }
        }

        return res;
    }
};
相关推荐
2401_8898846613 小时前
嵌入式C++测试框架
开发语言·c++·算法
无限进步_13 小时前
深入解析vector:一个完整的C++动态数组实现
c语言·开发语言·c++·windows·git·github·visual studio
tankeven13 小时前
HJ129 小红的双生数
c++·算法
万能的小裴同学13 小时前
C++ 简易的FBX查看工具
开发语言·c++·算法
皮卡狮14 小时前
C++面向对象编程的三大核心特性之一:多态
开发语言·c++
Trouvaille ~14 小时前
【贪心算法】专题(六):降维打击与错位重构的终极收官
c++·算法·leetcode·面试·贪心算法·重构·蓝桥杯
智者知已应修善业14 小时前
【任何一个自然数m的立方均可写成m个连续奇数之和】2024-10-17
c语言·数据结构·c++·经验分享·笔记·算法
YYYing.14 小时前
【Linux/C++多线程篇(二) 】给线程装上“红绿灯”:通俗易懂的同步互斥机制讲解 & C++ 11下的多线程
linux·c语言·c++·经验分享·ubuntu
2401_9001515414 小时前
自定义异常类设计
开发语言·c++·算法
一叶落43814 小时前
LeetCode 42. 接雨水(C语言详解)——双指针经典解法
c语言·数据结构·c++·算法·leetcode