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);
    }
}
相关推荐
l1t15 小时前
对clickhouse给出的二分法求解Advent of Code 2025第10题 电子工厂 第二部分的算法理解
数据库·算法·clickhouse
Tisfy15 小时前
LeetCode 3315.构造最小位运算数组 II:位运算
算法·leetcode·题解·位运算
YuTaoShao15 小时前
【LeetCode 每日一题】1292. 元素和小于等于阈值的正方形的最大边长
算法·leetcode·职场和发展
Remember_99315 小时前
【数据结构】深入理解Map和Set:从搜索树到哈希表的完整解析
java·开发语言·数据结构·算法·leetcode·哈希算法·散列表
浅念-15 小时前
C++第一课
开发语言·c++·经验分享·笔记·学习·算法
charlie11451419115 小时前
现代嵌入式C++教程:对象池(Object Pool)模式
开发语言·c++·学习·算法·嵌入式·现代c++·工程实践
燃于AC之乐15 小时前
我的算法修炼之路--8——预处理、滑窗优化、前缀和哈希同余,线性dp,图+并查集与逆向图
算法·哈希算法·图论·滑动窗口·哈希表·线性dp
格林威15 小时前
多相机重叠视场目标关联:解决ID跳变与重复计数的 8 个核心策略,附 OpenCV+Halcon 实战代码!
人工智能·数码相机·opencv·算法·计算机视觉·分类·工业相机
得贤招聘官16 小时前
AI面试破局深水区:从工具迭代到价值重构
人工智能·面试·重构
郝学胜-神的一滴16 小时前
深入理解网络分层模型:数据封包与解包全解析
linux·开发语言·网络·程序人生·算法