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()][]);
     }

    }

相关推荐
小白程序员成长日记9 小时前
2025.11.09 力扣每日一题
算法·leetcode·职场和发展
hansang_IR9 小时前
【题解】洛谷 P1477 [NOI2008] 假面舞会 [思维 + 图论]
c++·算法·图论·思维
我命由我123459 小时前
Android WebView - loadUrl 方法的长度限制
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
天选之女wow9 小时前
【代码随想录算法训练营——Day59】图论——47.参加科学大会、94.城市间货物运输I
算法·图论
前端架构师-老李9 小时前
Maven安装以及环境变量配置(macOS)
java·macos·maven
CoovallyAIHub9 小时前
1.2MB超轻量模型实现草莓苗精准分级检测与定位,准确率超96%
深度学习·算法·计算机视觉
CoovallyAIHub9 小时前
终结AI偏见!Sony AI发布Nature论文与FHIBE数据集,重塑公平性评估基准
深度学习·算法·计算机视觉
带刺的坐椅9 小时前
(对标 Spring IA 和 LangChain4j)Solon AI & MCP v3.7.0, v3.6.4, v3.5.8 发布(支持 LTS)
java·spring·ai·solon·mcp·langchain4j
7澄19 小时前
深入解析 LeetCode 1572:矩阵对角线元素的和 —— 从问题本质到高效实现
java·算法·leetcode·矩阵·intellij-idea
ALex_zry10 小时前
c20 字符串处理优化可选方案
算法