leetcode 合并区间 java

  1. ArrayList<int[]> merged = new ArrayList<>();来定义数组的list

  2. 将数组进行排序 Arrays.sort(intervals,(a,b) -> Integer.compare(a[0],b[0]));

  3. 如果前面的末尾>=后面的初始,那么新的currentInterval的末尾=这两个数组末尾的最大值,即

    if(currentInterval[1]>=intervals[i][0]){
    //res[i][0]=intervals[i][0];
    currentInterval[1]=Math.max(intervals[i][1],currentInterval[1]);
    }

  4. 否则,新的currentInterval直接等于intervals[i];

  5. 循环结束之后,只是对最后一个区间进行了判断,但是没有加进merged中,因此要把最后一个区间加进去。

  6. 转换成数组形式 merged.toArray(new int[merged.size()][]);

    class Solution {
    public int[][] merge(int[][] intervals) {
    int len = intervals.length;
    if(len == 0) {
    return new int[0][0];
    }

    复制代码
         //按照每个区间的起始值进行排序
         Arrays.sort(intervals,(a,b) -> Integer.compare(a[0],b[0]));
         ArrayList<int[]> merged = new ArrayList<>();
         int[] currentInterval = intervals[0];
        //int[][] res = new int[len][intervals[len-1].length];
         
        for(int i =1; i<len;i++){
             // res[i][0]=intervals[i][0];
             // res[i][1]=intervals[i][1];
             if(currentInterval[1]>=intervals[i][0]){
                 //res[i][0]=intervals[i][0];
                 currentInterval[1]=Math.max(intervals[i][1],currentInterval[1]);
             }else{
                 merged.add(currentInterval);
                 currentInterval = intervals[i];
             }
         }
    
        // 添加最后一个区间
        merged.add(currentInterval);
        return merged.toArray(new int[merged.size()][]);
     }

    }

相关推荐
SunnyDays101115 分钟前
如何在Java中将Word文档转换为图像(JPEG、PNG或SVG)
java
Lumos_77732 分钟前
Linux -- 线程
java·jvm·算法
知兀1 小时前
【MybatisPlus】后端用枚举类,数据库用tinyint,存在枚举类型转换
java
StockTV1 小时前
印度股票实时数据 NSE和BSE的实时行情、K 线及指数数据
java·开发语言·spring boot·python
User_芊芊君子1 小时前
【OpenAI 把 AI 玩明白了】:自主推理 + 动态知识图谱,这 4 个技术突破要颠覆行业
java·人工智能·知识图谱
七颗糖很甜1 小时前
“十五五”气象发展规划:聚焦五大核心任务
大数据·python·算法
科研前沿1 小时前
镜像视界浙江科技有限公司的关键技术突破有哪些?
大数据·人工智能·科技·算法·音视频·空间计算
嫩萝卜头儿1 小时前
2 - 复杂度收尾 + 链表经典OJ
数据结构·算法·链表·复杂度
c++之路1 小时前
C++20概述
java·开发语言·c++20
星马梦缘1 小时前
算法设计与分析 作业二 答案与解析
算法·图论·dfs·bfs·floyd-warshall·bellman_ford·多源最短路