当前位置: 首页 > news >正文

合并区间问题

以数组 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] 可被视为重叠区间。

解法:

/*** @param {number[][]} intervals* @return {number[][]}* 思路:* 	    prev 初始为第一个区间,curList 表示当前的区间,result 表示结果数组*      1、遍历,符合条件更新pre;* 		2、不能合并,将pre推入结果数组,之后更新pre* 		3、最后要补上pre*/
var merge = function (intervals) {intervals = intervals.sort((a,b)=>a[0]-b[0])let pre = intervals[0],result = []for(let i=1;i<intervals.length;i++){let curList = intervals[i],preStart=pre[0],preEnd=pre[1],curListStart=curList[0],curListEnd=curList[1]if(preEnd>=curListStart){pre=[Math.min(preStart,curListStart),Math.max(preEnd,curListEnd)]} else{result.push(pre)pre = curList}}result.push(pre)return result
};

在这里插入图片描述

http://www.lryc.cn/news/239395.html

相关文章:

  • 2023 年最新 MySQL 数据库 Windows 本地安装、Centos 服务器安装详细教程
  • 每天一道算法题(十)——获取和为k的子数组
  • 2023年亚太杯数学建模思路 - 案例:最短时间生产计划安排
  • 在vscode中使用Latex:TexLive2023
  • Unity开发之C#基础-File文件读取
  • 深度学习之二(前馈神经网络--Feedforward Neural Network)
  • 2023全球边缘计算大会深圳站-核心PPT资料下载
  • 【亚太杯思路助攻】2023年第十三届APMCM亚太地区大学生数学建模竞赛——(文末领取方式)
  • vue开发一、在Vue中引入ElementUI二、在Vue中使用阿里图标库
  • 基于SpringBoot+Mybatis plus+React.js实现条件选择切换搜索功能
  • 【STM32】W25Q64 SPI(串行外设接口)
  • 如何使用Mondo Rescue备份及恢复Linux系统(制作ISO镜像,成功恢复)
  • Java如何获取泛型类型
  • 2023年【起重机械指挥】考试题及起重机械指挥找解析
  • 【前端学java】Java中的接口和枚举概念(7)
  • P8611 [蓝桥杯 2014 省 AB] 蚂蚁感冒(模拟)
  • 边缘计算是如何为元宇宙提供动力的?
  • 优秀智慧园区案例 - 上海世博文化公园智慧园区,先进智慧园区建设方案经验
  • 【DevOps】Git 图文详解(五):远程仓库
  • 如果在手机没有root的情况下完成安卓手机数据恢复
  • C++学习 --stack
  • 简单但好用:4种Selenium截图方法了解一下!
  • 【报错记录】解决使用Kotlin写的SpringBoot项目使用Aspect切面无法生效的问题
  • 在python中分别利用numpy,tensorflow,pytorch实现数据的增加维度(升维),减少维度(降维)
  • 基于天鹰算法优化概率神经网络PNN的分类预测 - 附代码
  • Flutter的Event Loop
  • HarmonyOS ArkTSTabs组件的使用(六)
  • 【MetaLearning】有关Pytorch的元学习库higher的基本用法
  • 火山引擎 ByteHouse 的增强型数据导入技术实践
  • 依赖库:Ceres-solver-2.0.0安装