当前位置: 首页 > news >正文

56.合并区间(java)

题目描述:

1.先判断给定intervals是否为空或者大小是否为1,是则直接返回intervals。

2.对intervals进行排序

        数组形式则使用:Arrays.sort(intevals,(a,b)->Integer.compare(a[0],b[0]));

        ArrayList形式:intervals.sort((a,b)->Integer.compare(a[0],b[0]));

3.创建结果集存储合并后的区间,将第一个区间添加到res,然后开始遍历intervals数组比较合并

数组形式:ArrayList<int[]> res = new ArrayList<>();

定义区间节点形式:ArrayList<Interval> res = new ArrayList<>();

                public class Interval{

                        int start;

                        int end;

                        Interval(){start=0;end=0;}

                        Interval(int s,int e) {start=s;end=e}

                 }

4.开始比较(以数组形式为例)

        for(int i=1;i<intervals.length;i++){

                int[] a=intervals[i];

                int[] b=res.get(res.size()-1);  // 拿结果集的最后一个区间进行比较

                if(b[1]<a[0])   //无法合并,直接将数组a加入到res结果集

                        res.add(a);

                else

                        b[1]=Math.max(a[1],b[1]);     // 合并,更新右区间

         }

5.返回结果(以数组为例)

        return res.toArray(new int[res.size()][]);

class Solution {public int[][] merge(int[][] intervals) {// 首先区间是否为空和是否为一个区间ArrayList<int[]> res = new ArrayList<>();if(intervals.length==0||intervals.length==1)return intervals;// 排序Arrays.sort(intervals,(a,b)->Integer.compare(a[0],b[0]));res.add(intervals[0]);for(int i=1;i<intervals.length;i++){int[] a=intervals[i];int[] b=res.get(res.size()-1);if(b[1]<a[0]) res.add(a);else b[1]=Math.max(a[1],b[1]);}return res.toArray(new int[res.size()][]);}
}

相关文章:

  • 【言语理解】逻辑填空之词义辨析(10)
  • 力扣HOT100之二叉树:108. 将有序数组转换为二叉搜索树
  • 45 python csv(存储表格数据)
  • No More Adam: 新型优化器SGD_SaI
  • 前端二进制数据指南:从 ArrayBuffer 到高级流处理
  • 【鸿蒙开发避坑】使用全局状态变量控制动画时,动画异常甚至动画方向与预期相反的原因分析以及解决方案
  • C语言_动态内存管理
  • vue引用cesium,解决“Not allowed to load local resource”报错
  • ProfibusDP主站转modbusTCP网关与ABB电机保护器数据交互
  • 典籍知识问答模块AI问答bug修改
  • 信息与信息化
  • LeetCode 第 45 题“跳跃游戏 II”
  • BBR 的 buffer 动力学观感
  • 【ant design】ant-design-vue 4.0实现主题色切换
  • C语言中字符串函数的详细讲解
  • 【软考 程序流程图的测试方法】McCabe度量法计算环路复杂度
  • 无线信道的噪声与干扰
  • 恢复因 oh-my-zsh 安装导致丢失的 zsh 环境变量
  • Python自学笔记3 常见运算符
  • C语言:在 Win 10 上,gcc 如何编译 gtk 应用程序
  • 私家车跑“顺风”出事故,意外险赔不赔?
  • 2024年全国博物馆接待观众14.9亿人次
  • 人民日报和音:相信中国就是相信明天
  • 魔都眼|邮轮港国际帆船赛启动,120名中外选手展开角逐
  • 辽宁援疆前指总指挥王敬华已任新疆塔城地委副书记
  • 自强!助残!全国200个集体和260名个人受到表彰