Skip to content
On this page

无重叠区间

Question

给定一个区间的集合 intervals ,其中intervals[i] = [starti, endi]。返回 需要移除区间的最小数量,使剩余区间互不重叠 。

思路

和上一题不同的是这一题是按照x_end 从小到大排序

js
var eraseOverlapIntervals = function(intervals) {
    intervals = intervals.sort((a,b)=> a[1]<b[1]?-1:1)// x_end  从小到大排序
    console.log(intervals)
    let res = 0   
    for(let i=0;i<intervals.length-1;i++){
        if(intervals[i+1][0] < intervals[i][1]){    //重叠:下一个气球的左边界 < 当前右边界
            res++ 
            intervals[i+1][1] = intervals[i][1]   
        }
    }
    return res
};