首页 > 编程语言 >leetcode56.合并区间-java

leetcode56.合并区间-java

时间:2023-04-09 16:46:26浏览次数:47  
标签:leetcode56 java int res 合并 rightmostRightBound start intervals new

 1 class Solution {
 2     public int[][] merge(int[][] intervals) {
 3         /*
 4             思路:左区间排序,若intervals[i][0] >= intervals[i-1][1]; 则重叠
 5             将重叠区间新建放入res数组里,没重叠则放入原数组 
 6         */
 7         List<int[]> res = new LinkedList<>();
 8         Arrays.sort(intervals, (a,b) -> Integer.compare(a[0], b[0]));
 9         //initial start 是最小左边界
10         int start = intervals[0][0];
11         int rightmostRightBound = intervals[0][1];
12         for(int i = 1; i < intervals.length; i++) {
13              //如果左边界大于最大右边界
14              if(intervals[i][0] > rightmostRightBound) {//没重叠
15                 //加入区间 并且更新start
16                 res.add(new int[]{start, rightmostRightBound});
17                 start = intervals[i][0];
18                 rightmostRightBound = intervals[i][1];
19              } else {
20                 //更新最大右边界
21                 rightmostRightBound = Math.max(rightmostRightBound, intervals[i][1]);
22              }
23         }
24         res.add(new int[]{start, rightmostRightBound});
25         return res.toArray(new int[res.size()][]);
26     }
27 }

 

标签:leetcode56,java,int,res,合并,rightmostRightBound,start,intervals,new
From: https://www.cnblogs.com/zuamagee/p/17300534.html

相关文章

  • javaEE进阶小结与回顾(三)
    集合概述集合是Java中存储引用数据类型的一种容器特点大小不固定,长度可以动态变化,适合做数据的增删如果集合不声明泛型,可以存入任意引用数据类型的数据(不推荐)声明集合时,通过泛型可以指定集合中应该存储什么类型的元素(推荐)注意:需要存储基本数据类型时,使用其......
  • JavaWeb-JSP-JSTL c foreach -2023-04-09
    <%@taglibprefix="c"uri="http://java.sun.com/jsp/jstl/core"%><%@pageimport="java.util.ArrayList"%><%@pagecontentType="text/html;charset=UTF-8"language="java"%><html>&l......
  • JavaWeb-JSP JSTL标签 -2023-04-09
    <%--CreatedbyIntelliJIDEA.User:AdministratorDate:2023/4/9Time:15:10TochangethistemplateuseFile|Settings|FileTemplates.--%><%@pagecontentType="text/html;charset=UTF-8"language="java"%>&l......
  • 【Java 并发】【十】【JUC数据结构】【三】LinkedBlockingQueue阻塞队列原理
    1 前言这节我们就来看看LinkedBlockingQueue内部实现的原理。2 LinkedBlockingQueue的使用在看原理之前我们先来用一用LinkedBlockingQueue,来体验一下:2.1  插入数据publicclassLinkedBlockingQueueTest{publicstaticvoidmain(String[]args)throwsInter......
  • java基础-异常
    1.简介如果某个方法不能按照正常的途径完成任务,在这种情况下会抛出一个封装了错误信息的对象,此时这个方法会立刻退出同时不返回任何值,调用这个方法的其他代码也无法继续执行,异常处理机制会将代码执行交给异常处理器自定义异常的话是继承一个异常类,通常是RumtimeException或者E......
  • 【Java】FileInputStream和FileOutputStream基本使用
    文章目录InputStream-字节输入流1.FileInputStream介绍2.FileOutputStream介绍3.文件的拷贝IO流-体系图文件VS流InputStream-字节输入流InputStream抽象类是所有类字节输入流的超类InputStream常用的子类FileInputStream:文件输入流BufferedInputStream:缓冲字节输入流O......
  • 【Java】FileReader和FileWrite基本使用
    文章目录1.FileReader和FileWriter是字符流,即按照字符来操作IO2.FileWriter常用方法3.案例演示1.FileReader和FileWriter是字符流,即按照字符来操作IOFileReader相关方法:newFileReader(File/String)read:每次读取单个字符,返回该字符,如果到文件末尾返回-13)read(char[):批量......
  • java设计模式之责任链模式
    责任链模式定义:使多个对象都有机会处理请求,从而避免了请求的发送者和接受者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止。其过程实际上是一个递归调用。特点: 1、有多个对象共同对一个任务进行处理。  2、这些对象使用链式存储结构,形成一......
  • Java for Web学习笔记(二六):JSTL(2)Core Tag(上)
    可以在JSP中替代Java代码的几乎所有功能,包括条件编程,循环,迭代和内容输出。taglib的directive如下:<%@taglibprefix="c"uri="http://java.sun.com/jsp/jstl/core"%><c:out>AttributesNameRequiredRequest-timeTypeDescriptionvaluetruetruejava.lang.StringExpression......
  • Java for Web学习笔记(三):Servlet(1)Maven
    什么是Maven在http://maven.apache.org/中对Mavent进行介绍,可以:一、发布project信息二、管理Jar包三、提供uniformbuildsystem,使用POM(projectobjectmodel)如果我们使用Eclipse是最新的Mars版本,Maven已经集成进来,所以不需要进行额外的配置,当然,如果我们需要自行安装一个特定位......