给出一个区间的集合,请合并所有重叠的区间。
解题思路:先排序(排序按照数组中的每一项的第一个的大小),后合并
var merge = function(intervals) {
var len=intervals.length;
if(len<1) return intervals;
//排序
intervals.sort((a,b)=>a[0]-b[0]);
var arr=[intervals[0]];
for(var i=0;i<len;i++){
var res=arr.pop();
if(res[1]>=intervals[i][0]){
//判断数组中元素的结尾值
res[1]=res[1]<intervals[i][1]?intervals[i][1]:res[1];
arr.push(res);
}else{
arr.push(res);
arr.push(intervals[i])
}
}
return arr;
};