给你一个 无重叠的 ,按照区间起始端点排序的区间列表。
在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。
var insert = function(intervals, newInterval) {
let res=[];
intervals.push(newInterval);
if(intervals.length==0)
return res.push(newInterval);
//升序
intervals.sort((a,b) => a[0] - b[0]);
res.push(intervals[0])
for(let i=1;i<intervals.length;i++){
//如果当前区间的左端点在数组 merged 中最后一个区间的右端点之后
if(intervals[i][0]>res[res.length-1][1]){
res.push(intervals[i])
}else{
res[res.length-1][1]=Math.max(intervals[i][1],res[res.length-1][1])
}
}
return res
};
思路跟合并区间类似