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

LeetCode热题100- 合并区间【JavaScript讲解】

题目:

在这里插入图片描述

解题思路:

  1. 首先我们根据每个子数组的第一个数字进行排序。
  2. prev 为初始的第一个区间,cur 表示当前的区间,res 表示结果数组。
  3. 开启遍历,尝试合并 prev 和 cur,合并后更新到 prev【根据prev的第二个数字和cur的第一个数字进行比较来判断是否可以进行合并】
  4. 第一遍循环完后,将该数组推入res中。
  5. 最后遍历结束将最后一个prev推入res中并返回res。

解题代码:

/**
 * @param {number[][]} intervals
 * @return {number[][]}
 */
var merge = function(intervals) {
    let res = [];
    intervals.sort((a,b)=>a[0]-b[0]);

    let prev = intervals[0];

    for(let i = 1; i < intervals.length; i++){
        let cur = intervals[i];
        if(prev[1] >= cur[0]){
            prev[1] = Math.max(prev[1],cur[1]);
        }else{
            res.push(prev);
            prev = cur;
        }
    }
    res.push(prev);
    return res;
};

通过:

在这里插入图片描述


http://www.kler.cn/a/538997.html

相关文章:

  • docker学习笔记
  • xcode常见设置
  • Qt:Qt Creator项目创建
  • 深入讲解MyBatis
  • 基于STM32的智能鱼缸水质净化系统设计
  • LVGL4种输入设备详解(触摸、键盘、实体按键、编码器)
  • Ubuntu如何开启VNC远程桌面连接
  • Vllm进行Qwen2-vl部署(包含单卡多卡部署及爬虫请求)
  • 解锁国内主流前端与后端框架
  • Java数据结构 | TreeMap 和 TreeSet
  • GPU、CUDA 和 cuDNN 学习研究【笔记】
  • iOS 自动翻滚广告条(榜单条)实现方案
  • CF998A Balloons​ 构造 ​
  • 牛客寒假集训营1
  • 基于Java的远程视频会议系统(源码+系统+论文)
  • 数据库如何清空重置索引,MySQL PostgreSQL SQLite SQL Server
  • ToDesk云电脑将终结显卡溢价,Web端浏览器、安卓、IOS免费试用
  • 【C++学习篇】C++11
  • Mac电脑修改hosts文件内容
  • 高效知识管理与分类优化指南:从目录设计到实践应用
  • SSA-TCN麻雀算法优化时间卷积神经网络时间序列预测未来Matlab实现
  • 力扣-字符串-28 找出字符串中第一个匹配项的下标
  • PyTorch Profiler 的使用
  • 2024年个人总结:求变
  • 自动化测试工具:selenium
  • mysql8 用C++源码角度看客户端发起sql网络请求,并处理sql命令