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);
    }
}
相关推荐
feifeigo1232 分钟前
基于马尔可夫随机场模型的SAR图像变化检测源码实现
算法
java1234_小锋11 分钟前
Java高频面试题:Springboot的自动配置原理?
java·spring boot·面试
fengfuyao98527 分钟前
基于STM32的4轴步进电机加减速控制工程源码(梯形加减速算法)
网络·stm32·算法
xiaoye37081 小时前
Spring 中高级面试题
spring·面试
无敌昊哥战神1 小时前
深入理解 C 语言:巧妙利用“0地址”手写 offsetof 宏与内存对齐机制
c语言·数据结构·算法
小白菜又菜2 小时前
Leetcode 2075. Decode the Slanted Ciphertext
算法·leetcode·职场和发展
Proxy_ZZ02 小时前
用Matlab绘制BER曲线对比SPA与Min-Sum性能
人工智能·算法·机器学习
黎阳之光2 小时前
黎阳之光:以视频孪生领跑全球,赋能数字孪生水利智能监测新征程
大数据·人工智能·算法·安全·数字孪生
小李子呢02112 小时前
前端八股6---v-model双向绑定
前端·javascript·算法
前端大波3 小时前
前端面试通关包(2026版,完整版)
前端·面试·职场和发展