Javascript Code
/**
* @param {number[][]} intervals
* @param {number[]} newInterval
* @return {number[][]}
*/
var insert = function (intervals, newInterval) {
let res = [];
for (let i = 0; i < intervals.length; i++) {
if (newInterval[1] < intervals[i][0]) {
res.push(newInterval)
return res.concat(intervals.slice(i))
} else if (newInterval[0] > intervals[i][1]) {
res.push(intervals[i])
} else {
newInterval = [Math.min(newInterval[0], intervals[i][0]), Math.max(newInterval[1], intervals[i][1])]
}
}
res.push(newInterval);
return res
};
.concat()
does not modify the array in place – It returns a new array, but you didn’t assign the result back to res
.
Top comments (0)