文章目录
前言
博主介绍:✌目前全网粉丝2W+,csdn博客专家、Java领域优质创作者,博客之星、阿里云平台优质作者、专注于Java后端技术领域。
涵盖技术内容:Java后端、算法、分布式微服务、中间件、前端、运维、ROS等。
博主所有博客文件目录索引:博客目录索引(持续更新)
视频平台:b站-Coder长路
LeetCode、435. 无重叠区间【中等,贪心 区间问题】
题目链接及分类
题目链接:LeetCode、435. 无重叠区间
分类:贪心/区间问题
思路
贪心、区间问题
思路:首先根据区间的右边界来进行排序,接着来去遍历所有的区间,来统计不重叠的区间个数,最终我们只需要 区间数量-不重叠数量,即可得到最小的移除数量。
复杂度分析:时间复杂度O(n.logn);空间复杂度O(n)
java
class Solution {
//区间组数 10万
//距离长度 50000
public int eraseOverlapIntervals(int[][] intervals) {
//首先根据区间的右边界排序
Arrays.sort(intervals, (o1, o2)->{
return o1[1] - o2[1];
});
//区间的数量
int n = intervals.length;
//不重叠的区间计数
int ans = 1;
//设置第一个区间的右边
int right = intervals[0][1];
//遍历所有的区间
for (int i = 1; i < intervals.length; i ++) {
int[] interval = intervals[i];
//注意:>=都是符合条件的
if (interval[0] >= right) {
ans ++;
right = interval[1];
}
}
return n - ans;
}
}
资料获取
大家点赞、收藏、关注、评论啦~
精彩专栏推荐订阅:在下方专栏👇🏻
- 长路-文章目录汇总(算法、后端Java、前端、运维技术导航):博主所有博客导航索引汇总
- 开源项目Studio-Vue---校园工作室管理系统(含前后台,SpringBoot+Vue):博主个人独立项目,包含详细部署上线视频,已开源
- 学习与生活-专栏:可以了解博主的学习历程
- 算法专栏:算法收录
更多博客与资料可查看👇🏻获取联系方式👇🏻,🍅文末获取开发资源及更多资源博客获取🍅
整理者:长路 时间:2024.2.13