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.无重叠区间贪心策略:优先保留结尾小且不相交的区间,即局部最优连续区间