Leecode热题100-56.合并区间
以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。
示例 1:
输入:intervals = [[1,3],[2,6],[8,10],[15,18]] 输出:[[1,6],[8,10],[15,18]] 解释:区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].
示例 2:
输入:intervals = [[1,4],[4,5]] 输出:[[1,5]] 解释:区间 [1,4] 和 [4,5] 可被视为重叠区间。
提示:
1 <= intervals.length <= 104intervals[i].length == 20 <= starti <= endi <= 104
很简单的题目,关键看怎么想,直接上代码了,不懂私信或者留言
class Solution {/**本题的思路是:先把原来的数组按照第一维从小到大排序,如果第一维相同按照第二位从大到小排序(第二维无所谓,从小到大也许)这样就能保证类似(1,2),(1,6)这样的区间排完序之后是(1,6)(1,2),这样遍历完第一个区间之后获得的end是6,第二个区间被第一个区间包围可以忽略然后如果下个区间是(7,10)就把第一个进行结算,如果下个是(3,8)就把end扩展到8并试图继续扩展*/public int[][] merge(int[][] intervals) {/**如果只有一个区间就没啥好合并的了,直接返回即可 */if(intervals.length == 1) {return intervals;}/**大于1个区间先排序,排序规则:按照第一维(区间开始)从小到大进行排序,如果第一维相同按照第二位从大到小排序 */Arrays.sort(intervals, (a,b)->a[0] != b[0]? a[0] - b[0] : b[1] - a[1]);/**把第一个区间的开头和结尾定义为start和end,每遍历完一个区间再给这两个赋值*/int start = intervals[0][0];int end = intervals[0][1];/**为减少空间浪费,我这里复用intervals作为结果数组,但是大概率是装不满的,所以需要定义一个validLen表示结果的有效长度,目前还没有*/int validLen = 0;for(int i = 1; i < intervals.length; i++) {/**如果这个区间被之前的区间覆盖了,就跳过 */if(intervals[i][0] >= start && intervals[i][1] <= end) {continue;}/**intervals[i][0]肯定是大于start的,如果intervals[i][1]小于等于end,那前面的if就返回了,所以这里intervals[i][1]肯定比end大,可以扩展end*/if(intervals[i][0] <= end) {end = intervals[i][1];} else {/**如果不重合就结算前一个区间并开始下个区间 */intervals[validLen][0] = start;intervals[validLen ++][1] = end; /**开始下个区间,重新计算start和end */start = intervals[i][0];end = intervals[i][1];}}/**对于最后一个区间,假设它和上个区间重合则它只是扩展了上个区间,还没结算如果它和上个区间不重合,则开始了一个新的区间,也没有结算这两种情况都需要把最后一个区间结算一下 */intervals[validLen][0] = start;intervals[validLen++][1] = end;/**拷贝有效的长度返回 */return Arrays.copyOf(intervals, validLen);}
}

相关文章:
Leecode热题100-56.合并区间
以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。 示例 1: 输入:intervals [[1,3…...
安全帽未佩戴预警系统 劳保防护用品穿戴监测系统 YOLO
在建筑、矿山、电力等高危行业中,工人面临着各种潜在的危险,如高空坠物、物体打击等。安全帽能够有效地分散和吸收冲击力,大大降低头部受伤的严重程度。一旦工人未正确佩戴安全帽,在遭遇危险时,头部将直接暴露在危险之…...
【python机器学习】线性回归 拟合 欠拟合与过拟合 以及波士顿房价预估案例
文章目录 线性回归之波士顿房价预测案例 欠拟合与过拟合线性回归API 介绍:波士顿房价预测数据属性:机器学习代码实现 拟合 过拟合 欠拟合 模拟 及处理方法(正则化处理)导包定义函数表示欠拟合定义函数表示拟合定义函数表示过拟合 正则化处理过拟合L1正则化L2正则化 线性回归之波…...
IT招聘乱象的全面分析
近年来,IT行业的招聘要求似乎越来越苛刻,甚至有些不切实际。许多企业在招聘时,不仅要求前端工程师具备UI设计能力,还希望后端工程师精通K8S服务器运维,更有甚至希望研发经理掌握所有前后端框架和最新开发技术。这种招聘…...
一入递归深似海,算法之美无止境
最近在刷leetcode hot100,在写二叉树中最大路径和的时候,看到了一个佬对递归的理解,深受启发,感觉自己对于递归的题又行了!!! 这里给大家分享一下(建立大家先去尝试一下这道题再来看 124. 二叉树中的最大路径和 二叉树中的 路径 被定义为一条节点序列,序列中每…...
进程的状态的理解(概念+Linux)
文章目录 进程的状态并行和并发物理和逻辑 时间片进程具有独立性等待的本质运行阻塞标记挂起等待 Linux下的进程状态(一)运行状态(R - running)(二)睡眠状态(S - sleeping)ÿ…...
Apache Linkis + OceanBase:如何提升数据分析效率
计算中间件 Apache Linkis 构建了一个计算中间件层,以实现上层应用程序和底层数据引擎之间的连接、治理和编排。目前,已经支持通过数据源的功能,实现用户通过Linkis 对接并使用 OceanBase数据库。 本文详细阐述了在 Apache Linkis v1.3.2中&a…...
Day01-postgresql数据库基础入门培训
Day01-postgresql数据库基础入门培训 1、PostgresQL数据库简介2、PostgreSQL行业生态应用3、PostgreSQL版本发展与特性4、PostgreSQL体系结构介绍5、PostgreSQL与MySQL的区别6、PostgreSQL与Oracle、MySQL的对比 1、PostgresQL数据库简介 PostgreSQL【简称:PG】是加…...
打卡第四天 P1081 [NOIP2012 提高组] 开车旅行
今天是我打卡第四天,做个省选/NOI−题吧(#^.^#) 原题链接:[NOIP2012 提高组] 开车旅行 - 洛谷 题目描述 输入格式 输出格式 输入输出样例 输入 #1 4 2 3 1 4 3 4 1 3 2 3 3 3 4 3 输出 #1 1 1 1 2 0 0 0 0 0 输入 #2 10 4 5 6 1 …...
Jenkins Pipline流水线
提到 CI 工具,首先想到的就是“CI 界”的大佬--]enkjns,虽然在云原生爆发的年代,蹦出来了很多云原生的 CI 工具,但是都不足以撼动 Jenkins 的地位。在企业中对于持续集成、持续部署的需求非常多,并且也会经常有-些比较复杂的需求,此时新生的 CI 工具不足以支撑这些很…...
鸿蒙harmonyos next flutter混合开发之开发FFI plugin
创建FFI plugin summation,默认创建的FFI plugin是求两个数的和 flutter create --templateplugin_ffi summation --platformsandroid,ios,ohos 创建my_application flutter create --org com.example my_application 在my_application项目中文件pubspec.yaml引…...
oracle数据库安装和配置
Oracle数据库安装 一、安装前的准备 系统要求: 硬件:内存至少1GB(推荐2GB以上),硬盘至少10GB的可用空间,CPU至少2核心。 操作系统:支持Oracle版本的Windows(如Windows 10或更高版本…...
猫玖破密啦
题目: 终究还是猫哥:3d5a3a0cfff7fb2e29194c0b7a89f284ff19a8 玖离:收到消息Oh,what_is_the_flag 玖离:7468655f666c61675f69735f666c13556d2cf2faec1e2d0f330b7dcceea1c62cb2 终究还是猫哥:收到消息************************************ 已…...
SpringBoot框架:服装生产管理的现代化工具
摘 要 本协力服装厂服装生产管理系统设计目标是实现协力服装厂服装生产的信息化管理,提高管理效率,使得协力服装厂服装生产管理作规范化、科学化、高效化。 本文重点阐述了协力服装厂服装生产管理系统的开发过程,以实际运用为开发背景&#…...
Android Preference的使用以及解析
简单使用 values.arrays.xml <?xml version"1.0" encoding"utf-8"?> <resources><string-array name"list_entries"><item>Option 1</item><item>Option 2</item><item>Option 3</item&…...
HCIP——GRE和MGRE
目录 VPN GRE GRE环境的搭建 GRE的报文结构 GRE封装和解封装报文的过程 GRE配置编辑 R1 R2 GRE实验编辑 MGRE 原理 MGRE的配置 R1 R2 R3 R4 查看映射表 抓包 MGRE环境下的RIP网络 综合练习编辑 VPN 说到GRE,我们先来说个大…...
微信小程序——音乐播放器
一、界面设计 播放页面: 显示当前播放歌曲的封面图片、歌曲名称、歌手名称。有播放 / 暂停按钮、上一首、下一首按钮。进度条显示播放进度,可以拖动进度条调整播放位置。音量调节滑块。 歌曲列表页面: 展示歌曲列表,包括歌曲名称、…...
OceanBase 4.x 部署实践:如何从单机扩展至分布式部署
OceanBase 4.x 版本支持2种部署模式:单机部署与分布式部署,同时支持从单机平滑扩展至分布式架构。这样,可以有效解决小型业务向大型业务转型时面临的扩展难题,降低了机器资源的成本。 以下将详述如何通过命令行,实现集…...
大数据新视界 --大数据大厂之TeZ 大数据计算框架实战:高效处理大规模数据
💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…...
docker详解介绍+基础操作 (三)
1.docker 存储引擎 Overlay: 一种Union FS文件系统,Linux 内核3.18后支持 Overlay2:Overlay的升级版,docker的默认存储引擎,需要磁盘分区支持d-type功能,因此需要系统磁盘的额外支持。 关于 d-type 传送…...
Ecco架构:突破LLM推理内存墙的熵编码优化方案
1. Ecco架构:突破LLM推理的内存墙在A100 GPU上运行LLaMA-70B模型时,仅权重参数就占用140GB显存,而HBM带宽仅有2TB/s——这就是典型的"内存墙"问题。传统解决方案如量化会损失精度,而单纯增加硬件成本又面临边际效益递减…...
从零构建YOLOv8火焰烟雾检测系统:GUI开发、模型训练与实战部署全解析
1. 项目背景与核心价值 火焰烟雾检测在工业安全、森林防火和智能家居等领域有着广泛的应用需求。传统检测方法主要依赖传感器,但存在响应慢、覆盖范围有限等问题。基于计算机视觉的解决方案能够突破物理限制,实现大范围实时监控。YOLOv8作为当前最先进的…...
中兴B862AV3.2M盒子救砖记:免拆机、免ADB,一根双公头USB线搞定刷机
中兴B862AV3.2M盒子救砖实战:零门槛线刷方案详解 当你的中兴B862AV3.2M电视盒子突然黑屏、卡在开机LOGO或完全无法响应时,那种焦虑感与技术无助感往往让人手足无措。不同于常规的系统升级,设备"变砖"状态下的恢复操作需要更谨慎的步…...
太过负责,是项目经理职场最大的内耗
在项目管理这个行当里,负责常常被当作一种美德。 但凡事过犹不及。当“负责”变成“太过负责”,它就不再是美德,而是一场持续消耗自己的慢性灾难。 一、你分不清“负责”和“扛一切”的界限 “负责”这个词,在项目管理中被过度美化…...
第4篇:角色设定与上下文管理——让AI扮演专家
第4篇:角色设定与上下文管理——让AI扮演专家适用人群:进阶 | 字数:约25,000字 | 预计阅读时间:60分钟前言 在前面三篇中,我们完成了"入门三部曲":知道了提示词的本质,学会了黄金四步…...
《CVPR2025-DEIM创新改进项目实战:从原理到部署的深度学习优化全攻略》004、DEIM数学基础:注意力机制与特征重标定的统一框架
CVPR2025-DEIM创新改进项目实战:从原理到部署的深度学习优化全攻略 004、DEIM数学基础:注意力机制与特征重标定的统一框架 一、从一次诡异的梯度爆炸说起 去年秋天调一个轻量级检测模型,在T4上跑得好好的,换到Jetson Orin上就炸了——loss直接飞到NaN。查了三天,最后定…...
告别论文焦虑:百考通AI,让你的本科毕业论文像“闯关升级”一样简单
又到了一年毕业季,对于广大本科生而言,那座名为“毕业论文”的大山,是否又一次压得你喘不过气?面对空白的Word文档,你是否感到无从下手?导师的催促、复杂的格式、浩如烟海的文献、以及令人心慌的查重……这…...
STD算法实战:用Python从零复现激光SLAM中的“稳定三角形”回环检测(附代码)
STD算法实战:用Python从零复现激光SLAM中的“稳定三角形”回环检测 激光SLAM技术正在重新定义机器人导航的精度上限,而回环检测作为其核心模块,直接决定了建图与定位的长期稳定性。传统基于点云局部特征的方案在视角变化场景中表现欠佳&#…...
前端开发从入门到精通:Vue3+TypeScript实战教程
一、为什么软件测试从业者要学Vue3TypeScript在软件测试领域,尤其是自动化测试和性能测试方向,懂前端开发技术早已不是加分项,而是必备技能。作为测试从业者,掌握Vue3TypeScript能为你的职业发展带来多重优势:…...
OpenClaw小龙虾设置DeepSeek模型|自检清单+常见问题解决方案
OpenClaw 连接 DeepSeek 完整图文教程 前置准备 下载小龙虾一键安装包(下载地址:www.totom.top)并安装。 已安装并可以正常打开 OpenClaw Windows。 OpenClaw 顶部 Gateway 状态保持在线。 电脑已联网,可正常访问 DeepSeek 开…...
