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

【leetcode】57. 插入区间

文章目录

    • 题目
    • 题解
      • 1. 和56题一样
      • 2. 模拟

题目

57. 插入区间

给你一个 无重叠的 ,按照区间起始端点排序的区间列表 intervals,其中 intervals[i] = [starti, endi] 表示第 i 个区间的开始和结束,并且 intervals 按照 starti 升序排列。同样给定一个区间 newInterval = [start, end] 表示另一个区间的开始和结束。

在 intervals 中插入区间 newInterval,使得 intervals 依然按照 starti 升序排列,且区间之间不重叠(如果有必要的话,可以合并区间)。

返回插入之后的 intervals。

注意 你不需要原地修改 intervals。你可以创建一个新数组然后返回它。

示例 1:

输入:intervals = [[1,3],[6,9]], newInterval = [2,5]
输出:[[1,5],[6,9]]

示例 2:

输入:intervals = [[1,2],[3,5],[6,7],[8,10],[12,16]], newInterval = [4,8]
输出:[[1,2],[3,10],[12,16]]
解释:这是因为新的区间 [4,8] 与 [3,5],[6,7],[8,10] 重叠。

题解

1. 和56题一样

class Solution:def insert(self, intervals: List[List[int]], newInterval: List[int]) -> List[List[int]]:intervals.append(newInterval)intervals.sort(key=lambda x: x[0])merged = []for interval in intervals:if not merged or merged[-1][1] < interval[0]:merged.append(interval)else:merged[-1][1] = max(merged[-1][1], interval[1])return merged

2. 模拟

class Solution:def insert(self, intervals: List[List[int]], newInterval: List[int]) -> List[List[int]]:left, right = newIntervalplaced = Falseans = list()for li, ri in intervals:if li > right:# 在插入区间的右侧且无交集if not placed:ans.append([left, right])placed = Trueans.append([li, ri])elif ri < left:# 在插入区间的左侧且无交集ans.append([li, ri])else:# 与插入区间有交集,计算它们的并集left = min(left, li)right = max(right, ri)if not placed:ans.append([left, right])return ans

这里是引用

http://www.dtcms.com/a/410625.html

相关文章:

  • 多sheet excel 导出
  • 手机移动端网站是什么用什么软件做网站布局
  • cesium-kit:让 Cesium 开发像写 UI 组件一样简单
  • 电子工程师网站wordpress the ken
  • Nginx HTTPS 深入实战 配置、性能与排查全流程(Nginx https
  • 网站建设和优化的营销话术亚马逊雨林生存游戏手机下载
  • 一场“无感换心”手术:金仓数据库如何让电子证照系统平滑告别MongoDB
  • 【开源】基于STM32的新疆地区棉花智能种植系统
  • 高平市规建设局网站短链接生成器
  • 解决SSL握手失败问题:SSLHandshakeException: Received fatal alert: handshake_failure
  • 降级版本Pillow解决freetypefont has no attribute getsize问题
  • 网站设计实例教程wordpress引用文章
  • 基于蜣螂优化的LSTM深度学习网络模型(DBO-LSTM)的一维时间序列预测算法matlab仿真
  • 改进的遗传算法优化的BP神经网络用于电厂数据的异常检测和故障诊断
  • 有什么公司要做推广的网站推广优化软件
  • visual studio 2019配置qt程序
  • 漏标(Missing Mark)问题深度解析
  • OpenAI近日推出了一项名为 ChatGPT Pulse 的全新功能
  • 购物网站后台设计wordpress怎么设置404页面跳转
  • 销售网站免费做珠海品牌型网站建设
  • Lucene 8.7.0 版本中dvd、dvm文件详解
  • Ubuntu 系统上安装 jdk-23_linux-x64_bin.tar.gz
  • o2o网站制作公司广告设计与制作标书
  • 苏州网站推广建设安全达标建设网站
  • 丙烯酸胶粘剂怎么选?先避 3 个坑,再挑靠谱品牌
  • Solidworks练习13-拉伸、拉伸切、筋
  • LeetCode算法日记 - Day 54: 二叉树的所有路径、全排列
  • 人脸模型训练-推理完整过程附代码
  • 洛阳网站排名福州网站建设H5
  • C语言入门教程 | 阶段五:指针与字符串、数组——字符串指针与多级指针