day28(12.8)——leetcode面试经典150

57. 插入区间

57. 插入区间

这个跟上面的那道题有点类似。

题目:

题解:

java 复制代码
class Solution {
    public int[][] insert(int[][] intervals, int[] newInterval) {
        //先将intervals转成List
        List<int[]> list = new ArrayList<>();
        //往List中加入元素
        for(int[] row:intervals) {
            list.add(row);
        }
        list.add(newInterval);
        //进行排序
        list.sort(Comparator.comparingInt(i->i[0]));
        //创建一个新的序列
        List<int[]> news = new ArrayList<>();
        //获取起始元素
        int l = list.get(0)[0];
        int r = list.get(0)[1];
        //进行合并
        for(int i=1;i<list.size();i++) {
            //如果当前的右边界大于r同时当前左边界小于等于r
            if(list.get(i)[1]>r&&list.get(i)[0]<=r) {
                r = list.get(i)[1];
            }
            //如果当前的左边界>r
            else if(list.get(i)[0]>r) {
                //直接加入news
                news.add(new int[]{l,r});
                //进行更新l,r
                l = list.get(i)[0];
                r = list.get(i)[1];
            }
        }
        //进行新增l,r
        news.add(new int[]{l,r});
        //直接进行转成二维数组
        return news.toArray(int[][]::new);
    }
}
相关推荐
YaraMemo36 分钟前
元启发式算法框架
人工智能·算法·5g·信息与通信·启发式算法·信号处理
weixin_307779131 小时前
一维无粘 Burgers 方程的激波形成问题:MacCormack 格式求解
c++·算法·matlab
HugoStudio_SWAN1 小时前
洛谷 B4500 / B4449 / B3843 凯撒密码、密码强度与密码合规——加密与安全的三道门
c++·学习·程序人生·算法·安全
枫叶林FYL2 小时前
【群体智能集群控制工程实践】第3章 一致性协同算法
算法
禹凕3 小时前
滑动窗口算法实战指南
python·算法
DisonTangor3 小时前
【腾讯混元雪耻归来】 Hy4 preview:770B 参数 MoE 旗舰模型,1M 上下文全面开源
人工智能·算法·开源·aigc·腾讯云·腾讯云ai代码助手
明月_清风4 小时前
从二叉树到 B+ 树:一文搞懂工程中「树」的演化之道
数据结构·算法·go
渡我白衣4 小时前
并查集:基础认识与模拟实现
android·java·javascript·数据结构·c++·算法·并查集
hetao17338374 小时前
2026-09-01~09-04 hetao1733837 的刷题记录
c++·算法
Evand J5 小时前
【MATLAB例程,图像滤波5】 反谐波均值滑动窗口滤波(CHMF)图像降噪与质量评价,附代码下载链接
图像处理·算法·计算机视觉·matlab·均值算法·滑动窗口滤波·均值滑动