LeetCode 435. 无重叠区间

Posted 数据结构和算法

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 435. 无重叠区间相关的知识,希望对你有一定的参考价值。

在这里插入图片描述

想看更多算法题,可以扫描上方二维码关注我微信公众号“数据结构和算法”,截止到目前我已经在公众号中更新了500多道算法题,其中部分已经整理成了pdf文档,截止到目前总共有1000多页(并且还会不断的增加),可以在公众号中回复关键字“pdf”即可下载。

在这里插入图片描述
在这里插入图片描述

public int eraseOverlapIntervals(int[][] intervals) {
    if (intervals.length == 0)
        return 0;
    //先排序
    Arrays.sort(intervals, (a, b) -> a[0] - b[0]);
    //记录区间尾部的位置
    int end = intervals[0][1];
    //需要移除的数量
    int count = 0;
    for (int i = 1; i < intervals.length; i++) {
        if (intervals[i][0] < end) {
            //如果重叠了,必须要移除一个,所以count要加1,
            //然后更新尾部的位置,我们取尾部比较小的
            end = Math.min(end, intervals[i][1]);
            count++;
        } else {
            //如果没有重叠,就不需要移除,只需要更新尾部的位置即可
            end = intervals[i][1];
        }
    }
    return count;
}

在这里插入图片描述

以上是关于LeetCode 435. 无重叠区间的主要内容,如果未能解决你的问题,请参考以下文章

leetcode 435无重叠区间贪心:局部最优连续区间

435. 无重叠区间

435. 无重叠区间

leetcode 435.无重叠区间贪心策略:优先保留结尾小且不相交的区间,即局部最优连续区间

leetcode 435.无重叠区间贪心策略:优先保留结尾小且不相交的区间,即局部最优连续区间

贪心算法:无重叠区间