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; } };
一、题目考察的知识点
贪心+模拟
二、题目解答方法的文字分析
和上一个题目差不多,只需要把新加入的区间提前加入到之前的区间里面,然后再对区间进行排序
三、本题解析所用的编程语言
c++