435. Non-overlapping Intervals (Medium)-不重叠的区间个数

不重叠的区间个数

Input: [ [1,2], [1,2], [1,2] ]

Output: 2

Explanation: You need to remove two [1,2] to make the rest of intervals non-overlapping.
Input: [ [1,2], [2,3] ]

Output: 0

Explanation: You don't need to remove any of the intervals since they're already non-overlapping.
题目描述:计算让一组区间不重叠所需要移除的区间个数。

先计算最多能组成的不重叠区间个数,然后用区间总个数减去不重叠区间的个数。

在每次选择中,区间的结尾最为重要,选择的区间结尾越小,留给后面的区间的空间越大,那么后面能够选择的区间个数也就越大。

按区间的结尾进行排序,每次选择结尾最小,并且和前一个区间不重叠的区间。

public int eraseOverlapIntervals(Interval[] intervals) {
    if (intervals.length == 0) {
        return 0;
    }
    Arrays.sort(intervals, Comparator.comparingInt(o -> o.end));
    int cnt = 1;
    int end = intervals[0].end;
    for (int i = 1; i < intervals.length; i++) {
        if (intervals[i].start < end) {
            continue;
        }
        end = intervals[i].end;
        cnt++;
    }
    return intervals.length - cnt;
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问题:1、含胸拱背,未能启动背脊延展。2、髋关节不灵活骨盆没有处于中正状态。 原因:髋屈肌群薄弱、髋关节不够灵活,...
    筱l阅读 4,383评论 0 0
  • #幸福是需要修出来的~每天进步1%~幸福实修08班~06~李玉珍# 20170710(11/99) 【幸福三朵玫瑰...
    stx2010阅读 1,209评论 1 4
  • 从古慷慨赴死易,自来从容就义难。 今把清茶敬英雄,且偷浮生半日闲。
    贪财的老猫阅读 3,961评论 4 16
  • 欣频老师梦想蓝图课程之后的我,身体上的毛孔系统全面打开来,那种畅快淋漓的舒畅感,清醒的头脑,当其他人兴奋的沉...
    UnaFung阅读 3,783评论 3 3
  • 愿,今日前我所有的烦忧与憎恶随着黎明的到来永远地散逸的星辰中;愿,我心中的美好与相信在金色的晨辉里愈为光鲜;愿,我...
    鸢尾风铃阅读 1,703评论 0 0