(14)LeetCode 56. 合并区间
📅 2026/7/11 2:44:30
👁️ 次浏览
LeetCode 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] 被视为重叠区间闭区间。 解题思路核心思想排序按照每个区间的左端点升序排序这样所有区间按起始位置有序排列。一次遍历合并用两个变量l和r记录当前合并区间的左右端点。依次检查后续区间若当前区间的左端点 r说明与当前合并区间没有重叠将当前合并区间存入结果并更新l和r为新区间的端点。否则说明有重叠更新r max(r, current_end)合并区间。收尾遍历结束后将最后一个合并区间加入结果。为什么排序是关键排序后我们只需从左到右扫描一次因为左端点递增任何重叠只可能发生在相邻区间之间无需回头检查。重叠判断条件区间[a, b]和[c, d]已排序a ≤ c重叠当且仅当c ≤ b闭区间等于也算重叠。在代码中我们判断intervals[i][0] r则为不重叠否则为重叠。 C 代码实现classSolution{public:vectorvectorintmerge(vectorvectorintintervals){vectorvectorintres;// 存储合并后的结果if(intervals.empty())returnres;// 处理空输入// 1. 按区间左端点排序sort(intervals.begin(),intervals.end());// 2. 初始化当前合并区间intlintervals[0][0],rintervals[0][1];// 3. 遍历后续区间for(inti1;iintervals.size();i){if(intervals[i][0]r){// 无重叠res.push_back({l,r});// 保存当前合并区间lintervals[i][0];// 开始新区间rintervals[i][1];}else{// 有重叠rmax(r,intervals[i][1]);// 合并更新右端点}}// 4. 加入最后一个区间res.push_back({l,r});returnres;}}; 代码细节解析步骤说明sort(intervals.begin(), intervals.end())按左端点升序排序左端点相同则按右端点升序不影响合并逻辑if (intervals[i][0] r)判断无重叠的条件当前左端点严格大于当前右端点闭区间等于则重叠res.push_back({l, r})将合并好的区间存入结果注意用{}初始化vectorintr max(r, intervals[i][1])有重叠时取两个右端点的较大值扩大合并区间最后res.push_back({l, r})循环结束后最后一个合并区间尚未加入需补加⏱ 复杂度分析时间复杂度O(n log n)其中 n 是区间个数。主要耗费在排序上遍历部分为 O(n)。空间复杂度O(n)用于存储结果。若不计结果数组排序的栈空间为 O(log n)快速排序。 示例模拟输入intervals [[1,3],[2,6],[8,10],[15,18]]步骤当前区间当前合并区间[l, r]操作初始化-[1, 3]从第一个区间开始i1[2,6][1, 3]→[1, 6]重叠扩展r6i2[8,10][1, 6]无重叠保存[1,6]新合并区间[8,10]i3[15,18][8,10]无重叠保存[8,10]新合并区间[15,18]结束-[15,18]保存最后一个区间最终结果[[1,6],[8,10],[15,18]]⚠️ 注意事项输入区间是闭区间因此[1,2]和[2,3]视为重叠合并为[1,3]。排序是必须的否则无法通过一次遍历判断所有重叠。处理空输入时直接返回空数组避免访问越界。
CCF-CSP 202312-1 仓库规划:从暴力到优化的3种解法深度解析在算法竞赛和编程能力认证考试中,一道题目往往存在多种解法。本文将以CCF-CSP 202312-1仓库规划问题为例,系统性地介绍三种不同时间复杂度的解法,并分析其适用场景与优化…
📅 2026/7/11 2:44:30
3款主流EDA工具原理图库对比:Altium vs KiCad vs Eagle 的元件查询效率实测在硬件设计流程中,原理图库的管理效率直接影响工程师的工作节奏。面对日益复杂的电路设计,如何在Altium Designer、KiCad和Eagle这三款主流EDA工具中快速定位元件&am…
📅 2026/7/11 2:43:30
如何免费解锁Cursor Pro功能:终极使用指南与破解方案 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your tria…
📅 2026/7/11 2:43:30
几何算法实战:烽火台布局中的凸包变体与O(N)优化在计算机几何算法领域,凸包问题是一个经典的研究课题。但实际工程应用中,我们常常会遇到各种凸包的变体问题——就像古代长城烽火台的布局优化问题。这个问题看似是历史场景的模拟,…
📅 2026/7/11 3:48:56
1. 项目概述:从“用不了”到“为什么用不了”的真实现场“supergrok的模型次数限制是怎么样的?”——这句话我每天在技术群、私信和社区评论区看到不下二十遍。它不像“怎么安装Python”那样有标准答案,也不像“GPU显存不够怎么办”能立刻定位…
📅 2026/7/11 3:48:56
1. 项目概述:这不是“接入API”,而是重构微信的交互逻辑“微信连上我的claude了!”——这句话在技术圈刷屏时,我第一反应不是兴奋,而是皱眉。因为绝大多数人根本没意识到:微信压根不支持直接调用外部大模型…
📅 2026/7/11 3:48:56
在 AI 图像生成领域,Meta 最新推出的 Muse Image 标志着生成式 AI 技术向更广泛用户群体的普及迈出了重要一步。与需要复杂提示词工程和专业技术背景的早期模型不同,Muse Image 直接集成到 Meta AI 应用、WhatsApp 和 Instagram Stories 等日常平台中&am…
📅 2026/7/11 3:48:56
1. 项目概述:当 Kimi K2.6 成为 CI/CD 流水线里的“智能协作者”你有没有过这样的经历:凌晨两点,Jenkins 构建失败,日志刷屏几百行,你盯着 terminal 里一串红色报错,手指悬在键盘上,却不知道该从…
📅 2026/7/11 3:48:56
文章目录服务流转页面 深度技术解析一、核心概念:Want 在鸿蒙中的定位二、状态变量设计:8 个变量的"通信协议栈"关键设计决策三、StatusPanel:应用启动的"身份证"四、ArticlePanel:业务上下文的"发件箱…
📅 2026/7/11 3:47:56
摘要前面系列教程覆盖了 ArkUI 组件、路由、生命周期、本地存储、网络请求、Ability 底层全套基础能力,本篇统一梳理标准工程目录分层、模块化拆分、代码复用规范、全局工具统一管理、项目打包权限配置、常见工程报错统一解决方案,形成可直接用于课程设计…
📅 2026/7/11 0:00:31
1. 命令简介gpm 是 Linux 系统下运行于虚拟控制台(文字终端模式)的鼠标服务器。它的主要功能是在没有图形界面的纯文本环境中,为虚拟控制台提供鼠标支持,允许用户使用鼠标进行文本的选择、复制和粘贴操作,极大地提升了…
📅 2026/7/11 0:00:31
导语
先澄清一个常被混用的概念:BI试点"上线",并不等于试点"验收通过"。很多企业把仪表板做出来、账号发下去、培训开完场,就默认试点已经跑通,随后进入推广阶段——结果推广到第二个部门、第三个业务线时&am…
📅 2026/7/11 0:00:31
1. 项目背景与核心需求 在嵌入式系统开发中,快速精确的数据检索是一个常见但极具挑战性的需求。特别是在工业控制、医疗设备和物联网终端等场景下,系统往往需要在毫秒级时间内完成关键参数的读取和写入操作。传统基于Flash存储的方案存在擦写次数有限、操…
📅 2026/7/10 22:46:54
1. 工业电流环信号传输的基础认知在工业自动化领域,4-20mA电流环传输技术已经持续服役超过半个世纪。这种看似简单的信号传输方式之所以能经久不衰,核心在于其独特的抗干扰能力——电流信号在长距离传输时几乎不受线路电阻和电压波动的影响。我曾在化工厂…
📅 2026/7/10 22:46:54
最近在项目里尝试用 YOLO 做目标检测,从环境搭建到模型训练,再到推理部署,整个过程踩了不少坑。网上的资料虽然多,但要么版本老旧,要么步骤零散不成体系,对于刚入门的新手来说,很容易卡在某个环…
📅 2026/7/10 22:46:54
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/10 22:46:54
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/10 22:46:54
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/10 22:46:54