给你一个 无重叠的 ,按照区间起始端点排序的区间列表。
在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。
https://leetcode-cn.com/problems/insert-i/
/**
* @param {number[][]} intervals
* @param {number[]} newInterval
* @return {number[][]}
*/
var insert = function(intervals, newInterval) {
var left = newInterval[0]
var right = newInterval[1]
var placed = false
var result = []
intervals.forEach(i => {
if (i[0] > right) {
if (!placed) {
result.push([left, right])
placed = true
}
result.push(i)
} else if (i[1] < left) {
result.push(i)
} else {
left = Math.min(left, i[0])
right = Math.max(right, i[1])
}
})
if (!placed) {
result.push([left, right])
}
return result
}