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;
    }
};
相关推荐
Code Warrior22 分钟前
【每日算法】专题五_位运算
开发语言·c++
OneQ6665 小时前
C++讲解---创建日期类
开发语言·c++·算法
Coding小公仔7 小时前
C++ bitset 模板类
开发语言·c++
菜鸟看点7 小时前
自定义Cereal XML输出容器节点
c++·qt
悲伤小伞9 小时前
linux_git的使用
linux·c语言·c++·git
ysa0510309 小时前
数论基础知识和模板
数据结构·c++·笔记·算法
小小小小王王王12 小时前
求猪肉价格最大值
数据结构·c++·算法
岁忧12 小时前
(LeetCode 面试经典 150 题 ) 58. 最后一个单词的长度 (字符串)
java·c++·算法·leetcode·面试·go
码农编程录13 小时前
【c/c++3】类和对象,vector容器,类继承和多态,systemd,std&boost
c++
??tobenewyorker15 小时前
力扣打卡第二十一天 中后遍历+中前遍历 构造二叉树
数据结构·c++·算法·leetcode