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;
    }
}
相关推荐
飞Link6 小时前
定积分理论与 Python 仿真完全指南
python·算法
ocean21036 小时前
2025-2026年C++专题大厂面试高频问题
开发语言·c++·面试
顶点多余6 小时前
9.15 面试问题总结(一面挂)
linux·面试·职场和发展
闲研随记6 小时前
RL算法学习:ArgMaxRL
算法·llm·强化学习·rl
飞Link7 小时前
零基础:离散数据积分与 Python 实现保姆级教程
python·算法
圣保罗的大教堂7 小时前
leetcode 836. 矩形重叠 简单
leetcode
淡海水7 小时前
11-03-Unity-List-T-和Dictionary-TKey-TValue-的性能调优实战
算法·unity·c#·list·dictionary
土司大王7 小时前
LeetCode hot100——394.字符串解码:Java 双栈模拟
java·算法·leetcode
a187927218317 小时前
【算法】双指针与滑动窗口(三):相向双指针——比较、排除、收缩
算法·leetcode·双指针·滑动窗口·原理·相向双指针·算法讲解
AI 小老六7 小时前
Agent 记忆系统难在取舍
人工智能·算法·架构·agent·memory·harness