当前位置:网站首页 > 编程语言 > 正文

合并数组区间(合并数组区间怎么求)



写在前面

老粉丝可能知道现阶段的LeetCode刷题将按照某一个特定的专题进行,之前的【贪心算法】已经结束,虽然只有三个题却包含了简单,中等,困难这三个维度,今天介绍的是第二个专题【数组】

数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。在每一种编程语言中,基本都会有数组这种数据类型。不过,它不仅仅是一种编程语言中的数据类型,还是一种最基础的数据结构。

贪心算法回顾:

【LeetCode】贪心算法--买卖股票的最佳时机II(122)

【LeetCode】贪心算法--划分字母区间(763)

【LeetCode】贪心算法--分发糖果(135)

刷题汇总:

【LeetCode】汇总贴(NO.1-20)

今日题目

给出一个区间的集合,请合并所有重叠区间。

示例 1:
输入: [[1,3],[2,6],[8,10],[15,18]]
输出: [[1,6],[8,10],[15,18]]
解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].
示例 2:
输入: [[1,4],[4,5]]
输出: [[1,5]]
解释: 区间 [1,4] 和 [4,5] 可被视为重叠区间














































题目分析

先将目标区间数组从小到大排序,然后从第一个区间开始,如果相邻的两个区间,end小于start则合并区间,且生成新的区间,如果不小于,则放到返回区间,可以看下面几个例子。

[1,3][2,6] ->[1,6]

第一个区间的end大于等于第二个区间的start,同时第二个区间的end大于第一个区间的end。
























[2,8][3,5] ->[2,8]

第一个区间的end大于等于第二个区间的start,同时第二个区间的end小于第一个区间的end。










[1,2][3,4] -> [1,2][3,4]

第一个区间的end小于第二个区间的start 。

代码实现

 
  

【推荐阅读】

【LeetCode】贪心算法--划分字母区间(763)

python异常报错详解

机器学习实战--住房月租金预测(3)

到此这篇合并数组区间(合并数组区间怎么求)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 字符串转为int(字符串转为日期)2026-05-07 17:45:07
  • 海尔电视查看本机型号(怎么查海尔电视机型号)2026-05-07 17:45:07
  • 域名解析二级域名(域名解析到二级域名)2026-05-07 17:45:07
  • 合并数组算法(合并数组算法有哪些)2026-05-07 17:45:07
  • 增删改查是什么意思网络用语(增删改查的改是什么)2026-05-07 17:45:07
  • 谷歌向手机发送验证码失败(谷歌发送验证码不能输入中国号码)2026-05-07 17:45:07
  • 双系统卸载linux系统(win10双系统卸载linux)2026-05-07 17:45:07
  • 免费代码网站推荐(免费的代码下载网站)2026-05-07 17:45:07
  • pfna是什么材料做的(nfpp是什么材料)2026-05-07 17:45:07
  • 环形队列是循环队列吗为什么(环形队列是循环队列吗为什么)2026-05-07 17:45:07
  • 全屏图片