每日一题(力扣)---插入区间

news2024/11/23 21:03:08

官方网址:. - 力扣(LeetCode)

题目:

给你一个 无重叠的 ,按照区间起始端点排序的区间列表 intervals,其中 intervals[i] = [starti, endi] 表示第 i 个区间的开始和结束,并且 intervals按照 starti 升序排列。同样给定一个区间 newInterval = [start, end] 表示另一个区间的开始和结束。
在 intervals 中插入区间 newInterval,使得 intervals 依然按照 starti 升序排列,且区间之间不重叠(如果有必要的话,可以合并区间)。返回插入之后的 intervals


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

个人思路:

题解:首先判断intervals数组长度,如果为0可以直接将newInterval返回

其他情况:将newIntervals插入到intervals中,对intervals按照左端点递增的顺序进行排序

代码思路:

  1. 定义一个辅助数组,也是我们的答案。默认为Intervals的第一个元素
  2. 然后从下标1开始遍历,如果位置为i的左端点比当前res位置的右端点还要大,很明显不能合并直接插入,更新当前元素的位置
  3. 如果小于等于的话,需要合并区间。左端点不变,右端点取当前遍历元素和当前ptr位置元素右端点的最大值即可。由于是合并区间所以,ptr值不需要更新

代码(非最优):

代码:/**
 * @param {number[][]} intervals
 * @param {number[]} newInterval
 * @return {number[][]}
 */
var insert = function(intervals, newInterval) {
 if(intervals.length === 0) return [newInterval]
    intervals.push(newInterval)
    intervals.sort((a, b) =>  a[0] - b[0])
    const res = [intervals[0]]
    let ptr = 0
    for(let i = 1; i < intervals.length; i++) {
        if(intervals[i][0] > res[ptr][1]) {
            res.push(intervals[i])
            ptr++
        } else {
            res[ptr] = [res[ptr][0], Math.max(res[ptr][1], intervals[i][1])]
        }
    }
    return res
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1591897.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

开源免费AI引擎:智能合同审查技术的应用与优势

随着数字化转型的加速&#xff0c;合同作为商业活动中的重要法律文件&#xff0c;其审查和管理变得越来越重要。传统的合同审查方式耗时且容易出错&#xff0c;而智能AI合同审查技术的引入&#xff0c;为这一领域带来了革命性的变化。本文将探讨智能AI合同审查技术的应用和优势…

【Delphi 爬虫库 1】GET和POST方法

文章目录 1.最简单的Get方法实现2.可自定义请求头、自定义Cookie的Get方法实现3.提取响应协议头4.实现Post请求完成单词翻译 爬虫的基本原理是根据需求获取信息并返回。就像当我们感到饥饿时&#xff0c;可以选择自己烹饪食物、外出就餐&#xff0c;或者订外卖一样。在编程中&a…

d盘无法格式化说另一个正在使用怎么办

在日常生活和工作中&#xff0c;我们经常会遇到需要对电脑硬盘进行格式化的情况。然而&#xff0c;有时在尝试格式化D盘时&#xff0c;会遇到一个常见的错误提示&#xff1a;“另一个程序正在使用此文件&#xff0c;因此无法进行操作”。这个提示可能会让许多人感到困惑&#x…

煤化工废水末端杂盐母液主流处置技术,你一定要了解么!

煤化工废水零排放的意义 随着能源结构的转型升级&#xff0c;现代煤化工产业也将有力推动绿色可再生市场的健康发展。“十一五”时期我国先后建成多个现代煤化工首批示范工程&#xff0c;基本实现了工艺流程贯通、产出合格产品的目标&#xff0c;但在水系统优化、废水处理等方…

水箱缺水保护使用元件

水箱缺水保护一般使用哪种液位传感器&#xff1f;液位传感器分为接触式和非接触式&#xff0c;能点科技的光电接触式需要在水箱上开孔安装&#xff0c;非接触式分为两种&#xff0c;一种是光电分离式&#xff0c;一种是电容式传感器。 光电一体式液位传感器内部器件都是树脂胶…

IPv4头部

IPv4头部 互联网协议&#xff08;IP&#xff09;的核心部分&#xff0c;用于在互联网上传输数据包。IPv4头部包含多个字段&#xff0c;这些字段对于正确地路由和传递数据至目的地至关重要。IPv4头部通常是20字节长&#xff0c;但可以因选项字段的存在而更长。以下是IPv4头部各个…

【Java探索之旅】方法的概念 定义 执行流程 实参与形参的交互

&#x1f3a5; 屿小夏 &#xff1a; 个人主页 &#x1f525;个人专栏 &#xff1a; Java编程秘籍 &#x1f304; 莫道桑榆晚&#xff0c;为霞尚满天&#xff01; 文章目录 &#x1f4d1;前言一、方法的概念及定义1.1 方法的概念1.2 方法的定义 二、方法的调用执行过程2.1 执行流…

【matlab非线性规划工具箱安装1 SeDuMi 1.3工具箱】

【matlab非线性规划工具箱安装1 SeDuMi 1.3工具箱】 该博客是非线性手眼标定代码中所依赖的matlab工具箱的安装内容&#xff0c;除了进行手眼标定以外&#xff0c;该工具箱还可以用于其他的非线性规划问题 手眼标定传送门&#xff1a; 【从零开始进行高精度手眼标定 eye in …

【Unity】常见性能优化

1 前言 本文将介绍下常用的Unity自带的常用优化工具&#xff0c;并介绍部分常用优化方法。都是比较基础的内容。 2 界面 2.1 Statistics窗口 可以简单查看Unity运行时的统计数据&#xff0c;当前一帧的性能数据。 2.1.1 Audio 音频相关内容。 Level&#xff1a;音量大小&a…

学习javaEE的日子 Day36 字符流

Day36 1.字符流 应用场景&#xff1a;操作纯文本数据 注意&#xff1a;字符流 字节流编译器 编译器&#xff1a;可以识别中文字符和非中文字符&#xff0c;非中文字符获取1个字节&#xff08;一个字节一个字符&#xff09;&#xff0c;编译器会根据编码格式获取中文字符对应的…

Python测试框架 —— pytest与unittest的区别!

前言 在Python中进行测试时&#xff0c;两个最流行的测试框架是unittest和pytest。虽然它们的目标相同&#xff0c;但它们之间存在许多不同之处。 本文将详细比较它们在用例编写规则、前置和后置方法、参数化、断言功能、用例执行和报告生成等方面的差异&#xff0c;并适当补…

分类预测 | Matlab实现SSA-LSSVM麻雀算法优化最小二乘支持向量机数据分类预测

分类预测 | Matlab实现SSA-LSSVM麻雀算法优化最小二乘支持向量机数据分类预测 目录 分类预测 | Matlab实现SSA-LSSVM麻雀算法优化最小二乘支持向量机数据分类预测分类效果基本介绍程序设计参考资料 分类效果 基本介绍 1.Matlab实现SSA-LSSVM麻雀算法优化最小二乘支持向量机数据…

本地知识库搭建教程来了,跟着做就行

你是不是常常因为找不到几个月前那个重要的工作笔记而头疼&#xff1f;或者是厌倦了反复在互联网的海洋中搜寻相同的信息&#xff1f;一个本地的知识库可能是你需要的解决方案。今天&#xff0c;我就要为你分享如何简单地搭建起自己的知识库&#xff0c;让你的信息更有组织、更…

别等Sora了!字节跳动旗下国产AI工具Dreamina,AI视频生成虽不完美,但够惊艳!

别等 Sora 了&#xff0c;试试字节跳动的 Dreamina&#xff01;Dreamina 是剪映旗下的一个 AI 创作平台&#xff0c;目前支持「文生图」、「智能画布」和「视频生成」功能。 Dreamina 官网&#xff1a;https://dreamina.jianying.com/ai-tool/home 之前对 Dreamina 的「文生图…

大数据------JavaWeb------JDBC(完整知识点汇总)

JDBC 定义 全称为Java数据库连接&#xff08;Java DataBase Connectivity&#xff09;&#xff1a;是使用java语句来操作所有关系型数据库的一套API JDBC本质 它是官方定义的一套操作所有关系型数据库的规则&#xff08;即接口&#xff09;&#xff0c;各个数据库厂商会去实现…

socat神器解密:网络数据传输的利器

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 socat神器解密&#xff1a;网络数据传输的利器 前言socat简介基本用法常见功能常见功能&#xff1a;1. 端口转发和数据重定向&#xff1a;2. 加密和解密数据流&#xff1a; 高级功能1. 代理服务器和隧…

Tomcat启动闪退的10个解决小技巧

引言 大家好&#xff01;在我们日常开发中&#xff0c;使用Tomcat作为Web服务器是相当常见的。 然而&#xff0c;遇到Tomcat启动后立即闪退的问题也不是什么稀罕事。 这种情况可能会让人感到困惑和沮丧&#xff0c;特别是当你急需完成一个项目或者修复一个重要的bug时。 不过…

单链表的创建与修改

链表的分类&#xff1a; 链表可按照&#xff1a;1.双向&#xff0c;单向。2.循环&#xff0c;不循环。3.带头&#xff0c;不带头。 根据不同组合可分为8类。其中不带头单项不循环链表为单链表。 单链表的第一个节点为头节点&#xff1a; 节点的创建&#xff1a; 通过这样一…

2024 年排名前 5 的 CSS 框架

文章目录 1、Bootstrap2、Tailwind CSS3、Foundation4、Bulma5、UIKit 1、Bootstrap Bootstrap框架是由Twitter的设计师Mark Otto和Jacob Thornton合作开发的&#xff0c;于2011年8月在GitHub上发布。它是目前最受欢迎的前端框架之一&#xff0c;被广泛应用于各种Web项目中。Bo…

基于机器学习预测岗位薪资

本文根据某招聘网站抓取的岗位信息&#xff0c;来预测该岗位平均薪资。 数据预处理 数据示例如下&#xff1a; 因为本文重点介绍如何实现预测&#xff0c;因此对于数据的预处理部分讲解一下处理逻辑&#xff1a; 1、统一薪资的单位&#xff0c;要么统一为年薪&#xff08;万/…