[路飞]_js算法:leetcode 1288-删除被覆盖区间

197 阅读1分钟

leetcode 1288. 删除被覆盖区间

问题描述: 给你一个区间列表,请你删除列表中被其他区间所覆盖的区间。

只有当 c <= a 且 b <= d 时,我们才认为区间 [a,b) 被区间 [c,d) 覆盖。

在完成所有删除操作后,请你返回列表中剩余区间的数目。

示例:

输入: intervals = [[1,4],[3,6],[2,8]]
输出: 2
解释: 区间 [3,6] 被区间 [2,8] 覆盖,所以它被删除了。
/**
 * @param {number[][]} intervals
 * @return {number}
 */
var removeCoveredIntervals = function(intervals) {
let arr=intervals.sort((a,b)=>{
     if(a[0]!==b[0])return a[0]-b[0];
     else{
      return b[1]-a[1]
     }
   })
   let max=arr[0][1],ret=0;
   for(let i=1;i<arr.length;i++){
    if(arr[i][1]<=max){
     ret++;
    }else{
      max=arr[i][1]
    }
   }
   return intervals.length-ret
};