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;
    }
};
相关推荐
SteveDraw2 分钟前
C++动态链接库封装,供C#/C++ 等编程语言使用——C++动态链接库概述(总)
开发语言·c++·c#·封装·动态链接库
十五年专注C++开发12 分钟前
设计模式之单例模式(二): 心得体会
开发语言·c++·单例模式·设计模式
?!71431 分钟前
算法打卡第18天
c++·算法
zh_xuan1 小时前
c++ std::pair
开发语言·c++
CodeWithMe1 小时前
【C/C++】EBO空基类优化介绍
开发语言·c++
k要开心1 小时前
从C到C++语法过度1
开发语言·c++
whoarethenext2 小时前
使用 C/C++的OpenCV 实时播放火柴人爱心舞蹈动画
c语言·c++·opencv
能工智人小辰2 小时前
Codeforces Round 509 (Div. 2) C. Coffee Break
c语言·c++·算法
梦星辰.2 小时前
VSCode CUDA C++进行Linux远程开发
linux·c++·vscode
whoarethenext3 小时前
C++ OpenCV 学习路线图
c++·opencv·学习