合并区间(leetcode数组相关)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_41805715/article/details/99479356

给出一个区间的集合,请合并所有重叠的区间。
在这里插入图片描述
解题思路:先排序(排序按照数组中的每一项的第一个的大小),后合并

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

猜你喜欢

转载自blog.csdn.net/qq_41805715/article/details/99479356