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;
    }
}
相关推荐
Lzh编程小栈1 天前
【STM32底层精讲】RCC时钟系统超全详解(时钟树+源码+避坑指南)
c语言·stm32·单片机·嵌入式硬件·面试
June`1 天前
常量内存和只读缓存
c++·人工智能·算法·cuda
一条大祥脚1 天前
ABC468 扫描线|贡献法|二阶差分|线段树优化DP
数据结构·算法
happyprince1 天前
篇2-bitsandbytes-具体观-算法与实现剖析
算法
艾莉丝努力练剑1 天前
【MYSQL】MYSQL学习的一大重点:事务(上)- 原子性与持久性
android·数据库·学习·mysql·面试
普通攻击往后拉1 天前
Leetcode 206. 反转链表
算法·leetcode·链表
@syh.1 天前
【贪心】矩阵消除游戏
算法·游戏·矩阵
可编程芯片开发1 天前
基于零极点配置的PID控制系统simulink建模与仿真
算法
徐小夕1 天前
开源!我用SQLite + DuckDB打造了一款可视化AI问数平台
前端·算法·github