博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
56. 合并区间---js解法
阅读量:3967 次
发布时间:2019-05-24

本文共 1033 字,大约阅读时间需要 3 分钟。

题目描述:

以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。

力扣链接:https://leetcode-cn.com/problems/merge-intervals

在这里插入图片描述


解题思路:

1.将数组中的区间按照起始位置排序       2.用current数组记录当前合并的最大区间,遍历数组中的每一个区间,         如果当前区间的起始位置<=current的终点位置,则可以继续合并,         所以合并并更新current的起始和终止位置。         如果当前区间的起始位置大于current的终止位置,则无法合并。所以将current加入到result里,         并用当前的区间替换到current的值

var merge = function(intervals) {
if(intervals.length<2){
return intervals; } intervals.sort((a,b)=>{
return a[0]-b[0] }) let current = intervals[0] let result = [] for(let interval of intervals){
if(current[1]>=interval[0]){
current[1] = Math.max(current[1],interval[1]) }else{
result.push(current) current = interval } } result.push(current) return result };

转载地址:http://cqfki.baihongyu.com/

你可能感兴趣的文章
DB2 物化查询表
查看>>
IF 语句
查看>>
循环语句
查看>>
DB2 临时表
查看>>
ITERATE、LEAVE、GOTO和RETURN
查看>>
异常处理
查看>>
存储过程
查看>>
动态SQL(Dynamic SQL)
查看>>
在存储过程之间传递数据
查看>>
迁移存储过程
查看>>
GET DIAGNOSTIC 语句
查看>>
Python 简介
查看>>
Python 注释
查看>>
Python 变量
查看>>
Python 数据类型 -- 数字
查看>>
Spring 管理对象
查看>>
Spring 自定义对象初始化及销毁
查看>>
Spring Batch 环境设置
查看>>
字符组转译序列
查看>>
字符转译序列
查看>>