LeetCode、435. 无重叠区间【中等,贪心 区间问题】

文章目录

前言

博主介绍:✌目前全网粉丝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;
    }
}

资料获取

大家点赞、收藏、关注、评论啦~

精彩专栏推荐订阅:在下方专栏👇🏻

更多博客与资料可查看👇🏻获取联系方式👇🏻,🍅文末获取开发资源及更多资源博客获取🍅


整理者:长路 时间:2024.2.13

相关推荐
I_belong_to_jesus6 小时前
C++关于分支预测的优化1
开发语言·c++·算法
Code_Solitude13 小时前
C语言动态内存 + 柔性数组 + 数组名退化
c语言·算法·柔性数组
上海潭龙东海科技有限公司13 小时前
客运站管控之动态孪生技术方案(新增一屏管控模块
数据仓库·人工智能·算法·重构·动态规划
文丑颜不良啊14 小时前
LeetCode2821~2840题目解析
java·leetcode
YLCHUP16 小时前
【思维&图论建模】题解:债权(debt)_图论_建模_思路转化_思维题目_C++算法竞赛
c++·笔记·算法·数学建模·贪心算法·深度优先·图论
思麟呀16 小时前
背包DP(01背包+完全背包)
c++·算法
笑容掩饰我的失落17 小时前
区块链从小白到精通(七):Solidity 语法精讲——数据类型、函数、修饰器与事件
算法·区块链·php·智能合约·哈希算法
Pniubi18 小时前
力扣24. 两两交换链表中的节点(递归)
算法·leetcode·链表
꧁细听勿语情꧂19 小时前
直接选择排序,堆排序,冒泡排序,递归快速排序、hoare版本、挖坑法、lomuto前后指针,非递归快速排序
c语言·开发语言·数据结构·算法