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

官方网址:. - 力扣(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 = 0for(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.mzph.cn/news/799907.shtml

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

相关文章

外包干了6天,技术明显进步

先说一下自己的情况&#xff0c;本科生&#xff0c;2019年我通过校招踏入了南京一家软件公司&#xff0c;开始了我的职业生涯。那时的我&#xff0c;满怀热血和憧憬&#xff0c;期待着在这个行业中闯出一片天地。然而&#xff0c;随着时间的推移&#xff0c;我发现自己逐渐陷入…

正则表达式替换<>中的内容

有 xml的字典如下&#xff1a; <sys:String x:Key"ButtonLogin">登录</sys:String> <sys:String x:Key"ButtonCancel">取消</sys:String> <sys:String x:Key"ButtonLive">实时成像</sys:String> 想…

电动牙刷LFGB认证食品接触材料流程周期费用

德国LFGB(即LMBG)认证简介&#xff1a;逸散二无散四物无意酒吧 一.2005 年9 月&#xff0c;德国新食品和饮食用品法LFGB 取代了食品和日用品法LMBG 。19B^67727B3l 它又称《食品、烟草制品化妆品和其它日用品管理法》是德国食品卫生管理方面最重要的基本法律文件。法规对德国食…

使用单点登录(SSO)如何提高安全性和用户体验

什么是单点登录&#xff08;SSO&#xff09; 对于所有大量采用云应用程序的组织来说&#xff0c;有效的身份管理是一个巨大的挑战&#xff0c;如果每个 SaaS 应用程序的用户身份都是独立管理的&#xff0c;则用户必须记住多个密码&#xff0c;技术支持技术人员在混合环境中管理…

Java基础学习: 响应式编程

文章目录 一、什么是响应式编程二、基于Reactor的响应式编程框架 一、什么是响应式编程 响应式编程是一种编程范式&#xff0c;旨在处理异步数据流和基于事件的编程。它侧重于数据流和变化的响应&#xff0c;而不是传统的请求-响应模式。响应式编程通常使用异步数据流来构建应…

Python爬蟲代理IP池的構建

網路爬蟲是獲取網頁數據的重要工具&#xff0c;但在爬取網頁時&#xff0c;經常會遇到IP被封、用戶代理限制的問題。這時&#xff0c;代理IP池就顯得尤為重要。然而&#xff0c;單一的代理伺服器往往無法滿足我們的需求&#xff0c;因為它可能會因為頻繁的請求而被目標網站封鎖…

文档管理系统解决方案(word原件)

1.系统概述 1.1.需求描述 1.2.需求分析 1.3.重难点分析 1.4.重难点解决措施 2.系统架构设计 2.1.系统架构图 2.2.关键技术 数据备份技术 3.系统功能设计 3.1.功能清单列表 3.2.基础数据管理 3.3.位置管理 3.4.文档使用 3.5.文档管理 软件全套资料包获取方式①&#xff1a;软件项…

Pytorch数据结构:Tensor(张量)及其维度和数据类型

文章目录 Tensor基础1.1、Tensor的维度&#xff08;Dimensions&#xff09;1.1.1、举例说明1.1.2、高维Tensor 1.2、.dim()和.size()方法1.2.1、.dim()方法1.2.2、.size()方法1.2.3、.shape属性1.2.3、示例代码1.2.3.1、一维Tensor1.2.3.2、二维Tensor1.2.3.3、三维Tensor 1.3、…

Adobe InDesign 2024 v19.3 (macOS, Windows) - 版面设计和桌面出版软件

Adobe InDesign 2024 v19.3 (macOS, Windows) - 版面设计和桌面出版软件 Acrobat、After Effects、Animate、Audition、Bridge、Character Animator、Dimension、Dreamweaver、Illustrator、InCopy、InDesign、Lightroom Classic、Media Encoder、Photoshop、Premiere Pro、Ad…

如何魔改 diffusers 中的 pipelines

如何魔改 diffusers 中的 pipelines 整个 Stable Diffusion 及其 pipeline 长得就很适合 hack 的样子。不管是通过简单地调整采样过程中的一些参数&#xff0c;还是直接魔改 pipeline 内部甚至 UNet 内部的 Attention&#xff0c;都可以实现很多有趣的功能或采样生图结果。 本…

深入了解图片Base64编码

title: 深入了解图片Base64编码 date: 2024/4/8 10:03:22 updated: 2024/4/8 10:03:22 tags: Base64编码图片转换HTTP请求前端开发移动应用性能优化图片压缩 1. 什么是Base64编码 Base64编码是一种将二进制数据转换为文本字符串的编码方式&#xff0c;通过将数据转换为一种可…

安全威胁情报的漏洞挖掘

前段时间edu上出现了两个网安总队收取安全情报&#xff0c;不收漏洞&#xff0c;下面简单分析一下如何挖掘安全情报。 在发现在edu中新增了两个网安总队收安全情报等漏洞&#xff0c;那威胁情报又会包含哪些内容呢&#xff1f;以前或许会看到各种ss网站、bc网站、yx网站满天飞&…

【数据库总结】

文章目录 1.数据库介绍2.数据库的语法使用数据库语法数据库的执行过程 3.数据库的索引介绍索引的介绍索引创建注意点&#xff1a;索引失效的情况索引不适合哪些场景呢&#xff1f;索引是不是建的越多越好呢&#xff1f;索引的数据结构为什么要用 B 树&#xff0c;而不用普通二叉…

华为 2024 届校园招聘-硬件通⽤/单板开发——第十套

华为 2024 届校园招聘-硬件通⽤/单板开发——第十套 部分题目分享&#xff0c;完整版带答案&#xff08;共十套&#xff09;获取&#xff08;WX:didadidadidida313&#xff0c;加我备注&#xff1a;CSDN huawei硬件单板题目&#xff0c;谢绝白嫖哈&#xff09; 1、I2 C 总线…

bat批处理命令 获取当前盘符和当前目录和上级目录

echo off echo 当前盘符&#xff1a;%~d0 echo 当前盘符和路径&#xff1a;%~dp0 echo 当前批处理全路径&#xff1a;%~f0 echo 当前盘符和路径的短文件名格式&#xff1a;%~sdp0 echo 当前CMD默认目录&#xff1a;%cd% pause 通过批处理取当前目录的上一级目录1 echo off if …

【御控物联】JavaScript JSON结构转换(22):小结

文章目录 一、结语二、接下来……三、在线转换工具四、技术资料 一、结语 《JavaScript JSON结构转换》主题自24.03.25至24.XX.XX历时XX天&#xff0c;共计编写 XX篇(XX篇功能说明XX篇场景)。 在此我们对《JavaScript JSON结构转换》功能做一下总结&#xff01; 在JSON结构转…

蓝桥杯 第 9 场 小白入门赛 盖印章

题目&#xff1a; 2.盖印章【算法赛】 - 蓝桥云课 (lanqiao.cn) 思路&#xff1a; 此题主要靠解方程组&#xff0c;但是枚举好像不太行&#xff0c;因为会有负数解&#xff0c; 二元一次方式 设A章需要a次&#xff0c;B章需要b次 第一个方程&#xff1a;a b k&#xff1b; …

Android Apk签名算法使用SHA256

Android apk签名算法使用SHA256 本文不介绍复杂的签名过程&#xff0c;说一下Android签名算法使用SHA256。 但是SHA1不是相对安全签名算法&#xff0c;SHA256更加安全一些。 一般大公司才会有这种细致的安全要求。 如何查看apk签名是否是SHA1还是SHA256 1、拿到apk文件&…

Notion 开源替代品 AFFINE 部署和使用教程

AFFiNE 是一款完全开源的 Notion Miro 替代品&#xff0c;与 Notion 相比&#xff0c;AFFiNE 更注重隐私安全&#xff0c;优先将笔记内容保存到本地。 GitHub 地址&#xff1a;https://github.com/toeverything/AFFiNE AFFiNE 使用 Rust 和 Typescript 构建&#xff0c;只需…

Vue - 你知道Vue中computed和watch的区别吗

难度级别:中高级及以上 提问概率:70% 二者都是用来监听数据变化的,而且在日常工作中大部分时候都只是局限于简单实用,所以到了面试中很难全面说出二者的区别。接下来我们看一下,二者究竟有哪些区别呢? 先说computed,它的主要用途是监听…