合并区间题解

题目链接

56. 合并区间 - 力扣(LeetCode)

思路

  1. 解题第一步,先排序,排序是最先必须需要做的事情

  2. 根据排序,我们结果数组 res ,pos 作为当前res结果数组已经存储了几个,对于 intervals 数组第一个元素,我们直接 push 进入 res ,从 第二个元素开始进行遍历,我们看当前元素是否 小于,当前res数组位置的 right,如果满足条件,则更新 res 数组对应下标 pos 的 right,否则就直接把 intervals 当前元素 push 到res作为新的区间

代码

javascript 复制代码
/**
 * @param {number[][]} intervals
 * @return {number[][]}
 */
var merge = function (intervals) {

    if (intervals.length < 1) return []
    if (intervals.length < 2) return intervals
    // 先排序
    intervals = intervals.sort((a, b) => {
        if (a[0] != b[0]) return a[0] - b[0]
        else return a[1] - b[1]
    })

    console.log(intervals)

    let res = [intervals[0]], pos = 0

    for (let i = 1; i < intervals.length; i++) {
        if (intervals[i][0] <= res[pos][1]) {
            // 可以合并
            res[pos][1] = Math.max(intervals[i][1], res[pos][1])
        }
        else {
            res.push(intervals[i])
            pos++
        }
    }

    return res
};
相关推荐
灵感__idea16 分钟前
Hello 算法:众里寻她千“百度”
前端·javascript·算法
Wect10 小时前
LeetCode 130. 被围绕的区域:两种解法详解(BFS/DFS)
前端·算法·typescript
NAGNIP1 天前
一文搞懂深度学习中的通用逼近定理!
人工智能·算法·面试
颜酱1 天前
单调栈:从模板到实战
javascript·后端·算法
CoovallyAIHub1 天前
仿生学突破:SILD模型如何让无人机在电力线迷宫中发现“隐形威胁”
深度学习·算法·计算机视觉
CoovallyAIHub1 天前
从春晚机器人到零样本革命:YOLO26-Pose姿态估计实战指南
深度学习·算法·计算机视觉
CoovallyAIHub1 天前
Le-DETR:省80%预训练数据,这个实时检测Transformer刷新SOTA|Georgia Tech & 北交大
深度学习·算法·计算机视觉
CoovallyAIHub1 天前
强化学习凭什么比监督学习更聪明?RL的“聪明”并非来自算法,而是因为它学会了“挑食”
深度学习·算法·计算机视觉
CoovallyAIHub1 天前
YOLO-IOD深度解析:打破实时增量目标检测的三重知识冲突
深度学习·算法·计算机视觉
NAGNIP2 天前
轻松搞懂全连接神经网络结构!
人工智能·算法·面试