Skip to content

435 无重叠区间

code

javascript
// 貌似是可以贪心,两个遍历,一旦 第二个左区间 小于 前一个右区间,就给他砍了
/**
 * @param {number[][]} intervals
 * @return {number}
 */
var eraseOverlapIntervals = function(intervals) {

    intervals.sort((a, b) => a[1] - b[1]);
    let count = 0;
    let right_side = intervals[0][1];
    for(let i = 1; i < intervals.length; i++){

        if(intervals[i][0] < right_side){
            count++;
            right_side = Math.min(right_side, intervals[i][1]);
            continue;
        }
        right_side = intervals[i][1];

    }
    return count;
};

总结

  1. 一个思路暂时是贪心必须要弄一个有序结构,所以一般都得排序,但是如何证明贪心其实挺烦的而且总是不保靠
  2. 嗯,可能道这个层面是这样,术这个层面,排谁这个那个,感觉意义就一般了,注意一下sort api写法
  3. 可以经常看看,这个是合并区间那个题的上位替代,找手感时候可以试试