leetcode 57. 插入区间

给出一个无重叠的 ,按照区间起始端点排序的区间列表。

在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。

示例 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] 重叠。

代码

class Solution {public int[][] insert(int[][] intervals, int[] newInterval) {List<int[]> list =new ArrayList<>();boolean c=false;if(intervals.length==0) return new int[][]{newInterval};for(int [] temp:intervals){if(temp[1]<newInterval[0])//当前区间在目标区间左边,不合并{list.add(temp);}else if(temp[0]<=newInterval[0]&&newInterval[0]<=temp[1])//当前区间和目标区间左端点重合,合并{newInterval[0]=temp[0];newInterval[1]=Math.max(newInterval[1],temp[1]);}else if(temp[0]<=newInterval[1]&&temp[1]>=newInterval[1])//当前区间和目标区间右端点重合,合并{newInterval[1]=temp[1];}else if(temp[0]>newInterval[1])//当前区间在目标区间右边,不合并{if(!c)//合并后的区间加入队列{c=!c;list.add(newInterval);}list.add(temp);}}if(!c)  list.add(newInterval);合并后的区间如果还没加入,就加入队列int[][] ret=new int[list.size()][2];for(int i=0;i<list.size();i++) ret[i]=list.get(i);return ret;}
}

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

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

相关文章

《C++标准程序库》学习笔记1--第二章第三章

————————— 第二章 —————————1.&#xff08;P11&#xff09; C规定&#xff1a;除了以typename修饰外&#xff0c;template内的任何标志符号都被视为一个值(value)而非一个型别。 eg. template <classT>classMyClass{ typename T::SubType *ptr; };…

让物联网真正起飞的关键:无线充电

从一般郊区家庭到工厂装配生产线&#xff0c;我们生活中的每个角落都正在经历“智能”技术强化的过程。物联网&#xff08;IoT&#xff09;技术看似无所不在&#xff0c;但是为这些装置持续供电仍是一大挑战&#xff0c;除非这个问题能够解决&#xff0c;否则许多令人兴奋的物联…

【NOIP2016】愤怒的小鸟

题目描述 Kiana最近沉迷于一款神奇的游戏无法自拔。 简单来说&#xff0c;这款游戏是在一个平面上进行的。 有一架弹弓位于(0,0)处&#xff0c;每次Kiana可以用它向第一象限发射一只红色的小鸟&#xff0c;小鸟们的飞行轨迹均为形如的曲线&#xff0c;其中a,b是Kiana指定的参数…

leetcode 127. 单词接龙(bfs)

给定两个单词&#xff08;beginWord 和 endWord&#xff09;和一个字典&#xff0c;找到从 beginWord 到 endWord 的最短转换序列的长度。转换需遵循如下规则&#xff1a; 每次转换只能改变一个字母。 转换过程中的中间单词必须是字典中的单词。 说明: 如果不存在这样的转换序…

java swing 动态生成表格_6 个曾经牛逼哄哄的 Java 技术,你用过吗?

大家好啊&#xff0c;今天给大家分享下我的开发历程中&#xff0c;我知道的那些被淘汰的技术或者框架&#xff0c;有些我甚至都没有用过&#xff0c;但我知道它曾经风光过。废话不多说&#xff0c;下面我要开始吹了……1、Swing下面这个是用 swing 开发的&#xff1a;Swing 算是…

如果您是JavaScript开发人员,为什么要进行增强现实-以及如何开始

by Evaristo Caraballo通过Evaristo Caraballo 如果您是JavaScript开发人员&#xff0c;为什么要进行增强现实-以及如何开始 (Why you should do Augmented Reality if you are a JavaScript developer — and how to start) If you are a JavaScript coder who is still late…

[Java 安全]加密算法

Base64编码 算法简述 定义 Base64内容传送编码是一种以任意8位字节序列组合的描述形式&#xff0c;这种形式不易被人直接识别。 Base64是一种很常见的编码规范&#xff0c;其作用是将二进制序列转换为人类可读的ASCII字符序列&#xff0c;常用在需用通过文本协议&#xff08;比…

hdu5299 Circles Game

题意是这样。给出非常多圆&#xff0c;要么两两相离&#xff0c;要么包括&#xff0c;若删掉一个圆&#xff0c;那被他包括的都要删除&#xff0c;若某人没有圆给他删&#xff0c;那么他就赢了。 。。。知道树上博弈的话。就非常easy。。。不知道的话。这确实是个神题…… 按半…

leetcode 1356. 根据数字二进制下 1 的数目排序(排序)

给你一个整数数组 arr 。请你将数组中的元素按照其二进制表示中数字 1 的数目升序排序。 如果存在多个数字二进制中 1 的数目相同&#xff0c;则必须将它们按照数值大小升序排列。 请你返回排序后的数组。 示例 1&#xff1a; 输入&#xff1a;arr [0,1,2,3,4,5,6,7,8] 输…

oracle java认证_如何通过Oracle的Java认证-开发人员实用指南

oracle java认证by javinpaul由javinpaul 如何通过Oracle的Java认证-开发人员实用指南 (How to Pass Oracle’s Java Certifications — a Practical Guide for Developers) A Java certification is highly regarded in the IT Industry and provides a Java developer with …

Oracle中exists与in的效率探讨

in 与 exist 的语法比较&#xff1a; select from 数据表 t where t.x in (...) 括号内可以是符合t.x字段类型的值集合&#xff0c;如(1,2,3)&#xff0c;但如果t.x是number类型的时候&#xff0c;似乎这样的写法会出问题&#xff1b;也可以是通 过另外的sele…

log日志轮转--logrotate

服务器上的日志包括系统日志和服务日志每天都会产生n多log,好多人会自己写脚本来进行日志的切割、压缩等&#xff0c;而忽略了系统自带的服务--logrotate。 简介 logrotate是个十分有用的工具&#xff0c;它可以自动对日志进行截断&#xff08;或轮循&#xff09;、压缩以及删除…

2个字段并在一次插入一个字段里面_elasticsearch外用与内观(二)-当插入文档时,elasticsearch都在做什么...

Previous: elasticsearch外用与内观(一)-常用功能与使用方法 在了解了es的基本用法之后&#xff0c;我们再来看看当插入文档数据时&#xff0c;elasticsearch都在做什么。首先&#xff0c;es的索引只是一个逻辑概念&#xff0c;实际上是由一个个物理分片组成的,每个分片就是一个…

学习Spring Data JPA

简介 Spring Data 是spring的一个子项目&#xff0c;在官网上是这样解释的&#xff1a; Spring Data 是为数据访问提供一种熟悉且一致的基于Spring的编程模型&#xff0c;同时仍然保留底层数据存储的特​​殊特性。它可以轻松使用数据访问技术&#xff0c;可以访问关系和非关系…

azure多功能成像好用吗_Azure持久功能简介:模式和最佳实践

azure多功能成像好用吗Authored with Steef-Jan Wiggers at Microsoft Azure由Microsoft Azure的Steef-Jan Wiggers撰写 With Durable Functions, you can program a workflow and instantiate tasks in sequential or parallel order, or you can build a watch or support a…

leetcode 327. 区间和的个数(treemap)

给定一个整数数组 nums&#xff0c;返回区间和在 [lower, upper] 之间的个数&#xff0c;包含 lower 和 upper。 区间和 S(i, j) 表示在 nums 中&#xff0c;位置从 i 到 j 的元素之和&#xff0c;包含 i 和 j (i ≤ j)。 说明: 最直观的算法复杂度是 O(n2) &#xff0c;请在此…

常用的工具函数

得到两个数组的并集, 两个数组的元素为数值或字符串//tools.js export const getUnion (arr1, arr2) > {return Array.from(new Set([...arr1, ...arr2])) }//调用页面 import { getUnion } from /libs/toolsthis.getUnion getUnion([1,2,3,5],[1,4,6]) //(6) [1, 2, 3,…

git 常用commands(转)

常用 Git 命令清单 作者&#xff1a; 阮一峰 日期&#xff1a; 2015年12月 9日 我每天使用 Git &#xff0c;但是很多命令记不住。 一般来说&#xff0c;日常使用只要记住下图6个命令&#xff0c;就可以了。但是熟练使用&#xff0c;恐怕要记住60&#xff5e;100个命令。 下面是…

Win2003磁盘分区调整

引用如下&#xff1a; 可能大家都知道&#xff0c;在Windows Server 2003下&#xff0c;普通版本的分区魔术师是无法运行的&#xff0c;而Windows内置的命令行工具Diskpart则能胜任分区魔术师的大部分工作&#xff0c;它的功能非常强大。输入Diskpart后&#xff0c;将显示如图所…

检查集群状态命令_轻松管理Kubernetes集群的7个工具

Kubernetes正在不断加快在云原生环境的应用&#xff0c;但如何以统一、安全的方式对运行于任何地方的Kubernetes集群进行管理面临着挑战&#xff0c;而有效的管理工具能够大大降低管理的难度。K9sk9s是基于终端的资源仪表板。它只有一个命令行界面。无论在Kubernetes仪表板Web …