56_合并区间_数组_中等

 

 

 

 主要学习下Arrays.sort()排序二维数组。

复制代码
class Solution {
    public int[][] merge(int[][] intervals) {
        Arrays.sort(intervals, new Comparator<int[]>() {  //先按第一维进行排序
            @Override
            public int compare(int[] o1, int[] o2) {
                return o1[0] - o2[0];
            }
        });

        int newIntervals[][] = new int[intervals.length][2];
        int index  = 0;
        newIntervals[0][0] = intervals[0][0];
        newIntervals[0][1] = intervals[0][1];

        for (int i = 1; i < intervals.length; i++) {
            if(intervals[i][0]>newIntervals[index][1]){
                index ++;
                newIntervals[index][0] = intervals[i][0];
                newIntervals[index][1] = intervals[i][1];
            }
            else if(intervals[i][0]<=newIntervals[index][1] && intervals[i][1]>=newIntervals[index][1]){
                newIntervals[index][1] = intervals[i][1];
            }else{
                continue;
            }
        }

        int array[][]= new int[index+1][2];
        for (int i = 0; i <=index ; i++) {
            array[i][0] = newIntervals[i][0];
            array[i][1] = newIntervals[i][1]; 
        }
        return array;
    }

}
复制代码

 

posted @   你的雷哥  阅读(35)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!
点击右上角即可分享
微信分享提示