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

合并区间题解

题目链接

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

思路

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

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

代码

/** * @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 };
http://www.cnnetsun.cn/news/1760.html

相关文章:

  • OpenHarmony Flutter 分布式能力调度:跨设备服务协同与资源共享方案
  • OpenHarmony Flutter 分布式数据持久化:跨设备数据一致性与同步方案
  • OpenHarmony Flutter 分布式安全防护:跨设备身份认证与数据加密方案
  • OpenHarmony Flutter 分布式音视频:跨设备实时流传输与协同播放方案
  • 鸿蒙 Flutter 应用签名:证书配置与上架实战
  • 鸿蒙 Flutter 图像编辑:原生图像处理与滤镜开发
  • VScode连接ubuntu虚拟机错误
  • EMC 测试实质之共模传导性抗扰度
  • 【linux系统部署】Ubuntu 24.04.3桌面版安装(VMware虚拟机)
  • 网络设备常用命令
  • VS Code终端从入门到精通完全指南
  • 现代C++系统编程中类型重解释的内存安全范式
  • 从 Llama 到 Avocado:Meta 转向中的 AI 战略引发内部困惑
  • Seedream-4.0:新一代生成式 AI 框架的技术深度与实践落地
  • 快餐连锁大亨
  • AXI-A7.2 Multi-copy write atomicity
  • AXI-A7.3 Exclusive accesses
  • AXI-A7.3.2 Exclusive access from the perspective of the Manager
  • 保姆级教程:Anaconda+Cuda+Torch+Pycharm配置指南
  • MaixCAM学习(七)寻找色块
  • 物联网通信仿真:物联网应用案例_(19).物联网低功耗广域网仿真案例
  • 物联网通信仿真:物联网应用案例_(20).物联网机器学习与人工智能仿真应用
  • 物联网通信仿真:物联网应用案例_(21).物联网通信仿真的挑战与未来趋势
  • 通信系统仿真:多天线技术仿真_(1).多天线技术基础
  • 通信系统仿真:多天线技术仿真_(4).信道建模与仿真
  • 通信系统仿真:多天线技术仿真_11.多天线系统的性能评估指标
  • 通信系统仿真:多天线技术仿真_(18).多天线技术的最新进展
  • 通信系统仿真:多天线技术仿真_15.多天线技术的物理层安全增强
  • 通信系统仿真:光通信系统仿真_(4).光调制技术
  • 【网络安全工具】抓包工具 Wireshark vs Sniff Master:从功能差异到场景适配的超详细对比分析,新手必看