力解法,首先排序数组,然后判断前面的是否包含后面的。
var merge = function(intervals) {
if(intervals.length===1)return intervals;
intervals.sort((x,y)=>x[0]-y[0]);
let stack = [intervals[0]];
for(let i=1;i<intervals.length;i++){
if(intervals[i][0]<=stack[stack.length-1][stack[stack.length-1].length-1]){
stack[stack.length-1] = [stack[stack.length-1][0],Math.max(intervals[i][intervals[i].length-1],stack[stack.length-1][stack[stack.length-1].length-1])];
}else{
stack.push(intervals[i]);
}
}
return stack;
};