题目

力解法,首先排序数组,然后判断前面的是否包含后面的。

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;
};