day27(12.7)——leetcode面试经典150

56. 合并区间

56. 合并区间

题目:

题解:

java 复制代码
class Solution {
    public int[][] merge(int[][] intervals) {
        int len = intervals.length;
        //创建一个新数组
         List<int[]> list = new ArrayList<>();
        int x = 0; 
        //将数组进行排序
        Arrays.sort(intervals, Comparator.comparingInt(i->i[0]));
        int l = intervals[0][0];
        int r = intervals[0][1];
        for(int i=1;i<len;i++) {
            //如果r>=当前的数的开头,同时要确保当前数的结尾要>-当前r,就进行合并
            if(r>=intervals[i][0]&&r<=intervals[i][1]) {
                r=intervals[i][1];
            }
            //如果r<当前的数的开头,同时要确保当前数的结尾要>-当前r,直接将当前的l和r加入
            else if(r<intervals[i][0]&&r<=intervals[i][1]) {
                list.add(new int[]{l, r});
                l=intervals[i][0];
                r=intervals[i][1];
            }
        }
        list.add(new int[]{l, r});
        int[][] arr = list.toArray(int[][]::new);
        return arr;
    }
}
相关推荐
疯狂打码的少年2 分钟前
【数据结构】复习日:树 + 图 + 排序(整理对比表)
数据结构·笔记·算法
benchmark_cc6 分钟前
Claude Code + MCP + QuantDash:打造全自动量化研究流水线的终极指南
人工智能·后端·爬虫·算法·claude·mcp·quantdash
星星.72224 分钟前
2026河南萌新联赛第六场(郑州大学)补题B、D、L、J、I
数据结构·c++·算法
朝发如雪30 分钟前
快速掌握Linux(2)(时间相关函数)(文件IO)
linux·python·算法
Forever Nore38 分钟前
LeetCode 16 最接近的三数之和 - 双指针逼近
算法·leetcode·职场和发展
smj2302_796826521 小时前
解决leetcode第4033题有效K个不同元素子数组I
数据结构·python·算法·leetcode
艾莉丝努力练剑1 小时前
【AI大模型接入SDK】C++日志体系与spdlog封装的理论部分
开发语言·c++·ide·人工智能·学习·面试·trae
学linux的QQ蛋1 小时前
Linux 文件 IO:系统调用 open/read/write 完整总结
linux·运维·算法
rannn_1111 小时前
【力扣hot100】回溯专题|全排列、子集、字母组合、组合总和、括号生成、单词搜索、分割回文串、N皇后
java·算法·leetcode·回溯
旖旎夜光1 小时前
LCR 173:在点名(二分查找) —— 题解
数据结构·c++·算法·leetcode·二分查找