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++

京公网安备 11010502036488号