class Solution {
  public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param intervals int整型vector<vector<>>
     * @param new_interval int整型vector
     * @return int整型vector<vector<>>
     */
    vector<vector<int> > insertNewInterval(vector<vector<int> >& intervals,
                                           vector<int>& new_interval) {
        // write code here
        intervals.push_back({new_interval[0], new_interval[1]});
        //return intervals;
        sort(intervals.begin(), intervals.end());
        vector<vector<int> >ve;
        int n = intervals.size();
        int l = intervals[0][0], r = intervals[0][1];
        for (int i = 1; i < n; ++i) {
            if (r < intervals[i][0]) {
                //cout<<l<<' '<<r<<endl;
                ve.push_back({l, r});
                l = intervals[i][0], r = intervals[i][1];
            } else {
                l = min(l, intervals[i][0]);
                r = max(r, intervals[i][1]);
            }
        }
        ve.push_back({l, r});
        return ve;
    }
};

一、题目考察的知识点

贪心+模拟

二、题目解答方法的文字分析

和上一个题目差不多,只需要把新加入的区间提前加入到之前的区间里面,然后再对区间进行排序

可以参考上一个题目https://www.nowcoder.com/practice/db2c7c52df0449b49b36e7fe5364f521?tpId=354&tqId=10589480&ru=/exam/oj/ta&qru=/ta/interview-202-top/question-ranking&sourceUrl=%2Fexam%2Foj%2Fta%3FtpId%3D354

三、本题解析所用的编程语言

c++