java数据结构与算法刷题-----LeetCode435. 无重叠区间

【算法-贪心】无重叠区间-力扣 435 题 💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨。 阅读详情
java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.youkuaiyun.com/grd_java/article/details/123063846

文章目录

在这里插入图片描述

解题思路:贪心思想。时间复杂度O( n ∗ l o g 2 n n*log_2n n∗log2​n)也就是快速排序需要的时间复杂度,空间复杂度O( l o g 2 n log_2n log2​n)是快速排序需要的栈空间
  1. 将所有区间按照第二个字段(end),按照升序排列
  2. 依次遍历排序好的区间,并记录当前最大end值
  3. 找出不重叠的区间数量,不重叠的条件是:如果当前区间start>=end,那么当前区间和已遍历区间一定不重叠
  4. 最后用区间总数 - 不重叠区间 = 需要移除的区间
代码

在这里插入图片描述

class Solution {
    public int eraseOverlapIntervals(int[][] intervals) {
        if (intervals.length == 0) return 0;
        Arrays.sort(intervals, new Comparator<int[]>() {
            //按照每个区间的end排序,a-b返回值>0 a放在b后面
            public int compare(int[] interval1, int[] interval2) {
                return interval1[1] - interval2[1];//升序排列
            }
        });

        int n = intervals.length;//所有区间的个数
        int right = intervals[0][1];//保存目前重叠区间后最右边界(end)大小。初始保存第一个区间的end
        int ans = 1;//保存有几个不重叠的区间,初始只有第一个区间,一定不重叠
        for (int i = 1; i < n; ++i) {
            if (intervals[i][0] >= right) {//如果当前区间的start >= 目前最右区间大小
                ++ans;//说明当前区间绝对不会重叠
                right = intervals[i][1];//right指向当前区间加入重叠后的end
            }
        }
        return n - ans;//n所有区间 - 非多余区间 = 需要移除的区间
    }
}
从零到一:RV1126与IMX415的硬件交响曲——深入解析Linux IPC摄像头的硬件调试艺术 本文深入解析了RV1126与IMX415组合的Linux IPC摄像头硬件调试技术,涵盖硬件接口检查、设备树配置、驱动加载验证及ISP调优等关键步骤。通过详细的操作指南和常见问题解决方案,帮助开发者快速掌握摄像头调试技巧,提升开发效率。 阅读详情

相关推荐

CosyVoice 本地部署详细教程 手把手小白教程

本文提供了详细的CosyVoice本地部署教程,强调了避免中文名称和空格的重要性,并列出了必要的软件安装步骤,包括CUDA、cuDNN、Git和Miniconda。教程涵盖了从检查CUDA版本到下载模型和运行模型的全过程,确保用户能够顺利部署并使用CosyVoice。

huazn612的博客 2万+

LeetCode第435题无重叠区间

题目来源 题目描述 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。 注意: 可以认为区间的终点总是大于它的起点。 区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。 示例 1: 输入: [ [1,2], [2,3], [3,4], [1,3] ] 输出: 1 解释: 移除 [1,3] 后,剩下的区间没有重叠。 示例 2: 输入: [ [1,2], [1,2], [1,2] ] 输出: 2 解释: 你需要移除两个 [1,2] 来使剩下的区间没有重叠。 示例 3: 输入

LiuXiaoXueer的博客 328

Protege本体建模实战:从零构建电影知识图谱并导入Neo4j

本体建模是知识图谱构建的基石,通过类、属性、实例和约束系统描述领域知识,为数据提供可复用的语义骨架。OWL作为本体描述语言的标准,配合Protege工具可实现可视化建模,并借助推理机验证逻辑一致性,提升模型可靠性。在工程落地中,本体模型常需导入图数据库如Neo4j,以支持高效的关联查询与业务应用。本文以影视领域为背景,完整演示Protege中定义类层级、创建对象/数据属性、填充实例,以及导出OWL文件并通过Python脚本转换为Neo4j节点与关系的全过程,同时梳理命名空间、匿名节点、编码等易踩坑点,帮助读

weixin_29047545的博客 282

Monthly Expense POJ 3273

一个用二分写的一个穷举法,给你一个n,m问你下面的n个数中分成m个区间,使每个区间的和尽量小,然后求这m个区间中最大的那个区间的和是多少 #include<iostream> #include<algorithm> using namespace std; const int MAXN=100050; int cnt; int n,m; int l,r,mid; int a[MAXN]; int flag(){ mid=(l+r)/2; int sum=0; in

KEIke0的博客 219

Ansys Lumerical | 薄膜铌酸锂电光调制器的仿真与优化

本文详细介绍了使用Ansys Lumerical进行薄膜铌酸锂电光调制器仿真与优化的全流程。从基础原理到电学仿真、光学模拟技巧,再到设计优化实战经验,帮助工程师掌握这一先进光电器件的仿真方法。重点解析了薄膜铌酸锂的Pockels效应和Mach-Zehnder结构设计,并提供了常见问题排查指南和最新发展动态。

vulkan6gpu的博客 1200

App inventor2通过蓝牙控制Arduino Uno LED开关

App inventer2控制Arduino Uno LED开关 如果学会这个小程序,大部分的手机通过蓝牙控制Arduino的功能都可以实现,这个小示例是通过蓝牙模块向Arduino发送"0"和"1",而其它功能要发送其它不同的字符串内容给Arduino. 所需硬件: Arduino Uno JDY-16 蓝牙模块(我的是蓝牙4.2版本) 草帽LED(可选) 手机(我用的是安卓,苹果手机应该也可以,最近其应用商店也有App inventor(AI)伴侣) 软件: Aduino IDE或者Platfom

Firmin123456的博客 5499

【每日一题-leetcode】435. 无重叠区间

435. 无重叠区间 ☆ 难度中等217 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。 注意: 可以认为区间的终点总是大于它的起点。 区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。 示例 1: 输入: [ [1,2], [2,3], [3,4], [1,3] ] 输出: 1 解释: 移除 [1,3] 后,剩下的区间没有重叠。 //贪心策略 先计算出重复的区间个数 总个数减去重复的等于不重复的区间个数 //如果排好序 时间复杂度为O(n) 没有排

芝兰生于深谷,不以无人而不芳 707

YOLO26涨点改进 | 细节涨点篇 | 源自SCI一区 | YOLO26引入HWD小波下采样模块,而不会显著增加计算开销,(适合小目标分割任务、小目标检测任务)

本文提出了一种基于Haar小波变换的下采样模块HWD,用于改进YOLO26目标检测性能。HWD模块通过小波变换降低特征图分辨率,同时将空间信息编码到通道维度,有效保留了关键信息。相比传统下采样方法,HWD能显著减少信息不确定性,提升小目标检测精度。实验表明,该模块可无缝集成到CNN架构中,不增加计算开销。文章详细介绍了HWD的实现原理、代码结构以及在YOLO26中的集成方法,并提供了两种改进版yaml配置文件。该创新模块已在多种数据集上验证有效,特别适合语义分割和目标检测任务。

Ai缝合怪、助力小伙伴高效发论文 404

LeetCode435. 无重叠区间(Java)

排序+贪心算法详细分析过程

愤怒的土豆泥的博客 691

PCL 基于强度的双边滤波【2026最新版】

基于强度信息的双边滤波代码实现、滤波前后点云未出现变化的原因以及获取带有强度pcd点云的方法。本文由优快云点云侠原创,博客长期更新,本文最近一次更新时间为:2026年5月24日。

点云侠的博客 29万+

【第1章>第9节】基于FPGA的图像开运算处理算法的Verilog实现

本文介绍了基于FPGA的开运算图像处理实现方法。主要内容包括:1)输入图像二值化处理,通过阈值将灰度图像转换为二值图像;2)数据缓存与窗口提取,使用寄存器数组缓存5行图像数据并构建5×5处理窗口;3)腐蚀运算逻辑,判断窗口内是否全为白色像素;4)膨胀运算逻辑,检测窗口内是否存在白色像素。最后给出了Verilog实现方案,通过级联腐蚀和膨胀模块完成开运算处理。该方法可用于FPGA图像处理算法开发。

MATLAB,verilog,python,opencv,tensorflow,caffe,C,C++ 315

LeetCode 435. 无重叠区间(贪婪算法)

题目描述 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。 注意: 可以认为区间的终点总是大于它的起点。 区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。 示例 1: 输入: [ [1,2], [2,3], [3,4], [1,3] ] 输出: 1 解释: 移除 [1,3] 后,剩下的区间没有重叠。 示例 2: 输入: [ [1,2], [1,2], [1...

weixin_37763870的博客 737

从养殖场到科技前沿:YOLOv11+OpenCV精准计数鸡蛋与鸡

YOLOv11结合OpenCV技术,精准识别和计数鸡蛋与鸡,广泛应用于养殖场、市场监控和自动化包装。通过深度学习与计算机视觉,提升农业生产效率,让智能化管理更简单高效。

专注于深入研究多种编程语言,以实战为导向,逐步拓展开发技能,提升工程化编码和思维能力,展现无敌技术实力。 1207

[C++]Leetcode超高效刷题顺序及题目详解笔记(持续更新中)

一.引言 博主最近在LeetCode上用C++练习。一路走来踩过一些坑,做了一些总结和笔记,分享给需要的人。 LeetCode网址:https://leetcode.com/ LeetCode中文版:https://leetcode-cn.com/ 二.刷题指南 LeetCode 是一个非常棒的平台,收集了许多公司的面试题目。相对其他平台而言,有着下面的几个优点: 题目全部来自业内大公司的真实面试不用处理输入输出 精力全放在解决具体问题上题目有丰富的讨论 可以参考别人的思路精确了解自己代码在所有提交代码中

cpb____的博客 2万+

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

力扣刷题路线

结合高频题、经典题和算法思想学习建议,分阶段从基础到进阶编排,覆盖所有核心标签,并标注题号与学习方法。:画图模拟快慢指针移动,如移动零时快指针探路、慢指针标记非零位置。:括号生成时,左括号数不能超过n,右括号数不能超过左括号数。:LCA问题中,若左右子树均含目标节点,则当前节点为祖先。:终止条件、递归调用、返回值,如二叉树深度递归返回。:掌握虚拟头节点、递归反转、环形检测。:掌握索引操作、快慢指针、滑动窗口。:熟悉括号匹配、单调栈、层序遍历。:熟悉反转、哈希统计、回文处理。

FAQEW的博客 1819

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

java数据结构与算法刷题-----LeetCode452. 用最少数量的箭引爆气球

【代码】java数据结构与算法刷题-----LeetCode452. 用最少数量的箭引爆气球。

殷志鹏的博客 728

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Leetcode-435:无重叠区间

题目链接 Leetcode-435:无重叠区间 题目描述 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。 注意: 可以认为区间的终点总是大于它的起点。 区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。 示例 1: 输入: [ [1,2], [2,3], [3,4], [1,3] ] 输出: 1 解释: 移除 [1,3] 后,剩下的区间...

康雨城 638

代码随想录刷题day30丨452. 用最少数量的箭引爆气球, 435. 无重叠区间,763.划分字母区间

文档讲解:https://programmercarl.com/0452.%E7%94%A8%E6%9C%80%E5%B0%91%E6%95%B0%E9%87%8F%E7%9A%84%E7%AE%AD%E5%BC%95%E7%88%86%E6%B0%94%E7%90%83.html解题思路:贪心。。两个气球挨在一起不重叠也可以一起射爆以题目示例: [[10,16],[2,8],[1,6],[7,12]]为例,如图:(方便起见,已经排序)

m0_75195038的博客 859

Java实现 LeetCode 435 无重叠区间

435. 无重叠区间 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。 注意: 可以认为区间的终点总是大于它的起点。 区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。 示例 1: 输入: [ [1,2], [2,3], [3,4], [1,3] ] 输出: 1 解释: 移除 [1,3] 后,剩下的区间没有重叠。 示例 2: 输入: [ [1,2], [1,...

南 墙 1万+

435. 无重叠区间

本文介绍了使用贪心算法解决无重叠区间问题的思路。通过将所有区间按右边界排序,优先保留结束最早的区间,可以最大化保留不重叠区间的数量。代码实现首先排序,然后遍历比较当前区间左边界与上一个保留区间的右边界,统计需要移除的重叠区间数。该算法时间复杂度为O(NlogN),空间复杂度取决于排序实现。文章详细解释了贪心策略的正确性,并提供了优化后的代码示例。

mrjieke6的博客 1100

【LeetCode】435. Non-overlapping Intervals 无重叠区间(Medium)(JAVA)每日一题

【LeetCode】435. Non-overlapping Intervals 无重叠区间(Medium)(JAVA) 题目地址: https://leetcode.com/problems/non-overlapping-intervals/ 题目描述: Given a collection of intervals, find the minimum number of intervals you need to remove to make the rest of the intervals non

qq_16927853的博客 215

Leetcode(java,python题解):435.无重叠区间

435.无重叠区间 题目描述 Leetcode:https://leetcode-cn.com/problems/non-overlapping-intervals/ 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。 注意: 可以认为区间的终点总是大于它的起点。 区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。 示例 1: 输入: [ [1,2], [2,...

_淡泊宁静的博客 480

【LeetCode:435. 无重叠区间 + 贪心 + 区间排序】

【LeetCode:435. 无重叠区间 + 贪心 + 区间排序】【LeetCode:435. 无重叠区间 + 贪心 + 区间排序】

Coder_ljw的博客 658

算法面试题《精选题目+题解分类汇总》

从去年年底开始想准备找实习,于是就开始懒散的复习。 大二学过数据结构,对基本的算法理论和数据结构有过了解,但是感觉又基本都交还给老师了 于是开始零散的复习,在leetcode上按照通过率由高到低开始刷,发现自己连通过率最高的几个题都吃力,几乎每个题都要去看题解然后慢慢消化 刷了十多个题就放弃了,这种盲目的玩法真的太伤自信心 于是就去看书,先复习下基础,当然就盲目看书还是没学到什么东西 之后又买了慕...

clonechen 2917

Day30补代码随想录20250109 452.用最少数量的箭引爆气球|435.无重叠区间|763.划分字母区间 【重叠区间的题】

用Integer内置的compare比较方法,不会溢出。刚开始需要一支箭二维数组的使用注意题目中说明,当两区间重叠于一点,也算重叠。例如,[2,3]和[3,4]这道题和射击气球的题目要求不同的一点是,当两区间重叠于一点,不算重叠。为什么按照左右边界排序代码这道题思路简单,但是代码细节较多。

爱因斯小柚的博客 852

4月28日LeetCode 435. 无重叠区间

算法分类:贪心算法 LeetCode:435. 无重叠区间 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。 注意: 可以认为区间的终点总是大于它的起点。 区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/non-overlapping-intervals 题解Java 保留区间结尾尽可能小,才能留下更多的区域让给其他区间, 将数组按后区间值进行升序排列 剔除有

weixin_44373236的博客 84
上一篇: java数据结构与算法刷题-----LeetCode75. 颜色分类
下一篇: java数据结构与算法刷题-----LeetCode452. 用最少数量的箭引爆气球
ydenergy_殷志鹏
博客等级 码龄7年 5887粉丝 543原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ydenergy_殷志鹏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值