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);
    }
}
相关推荐
YGGP1 天前
【Golang】LeetCode 64. 最小路径和
算法·leetcode
古城小栈1 天前
Rust变量设计核心:默认不可变与mut显式可变的深层逻辑
算法·rust
电商API&Tina1 天前
跨境电商 API 对接指南:亚马逊 + 速卖通接口调用全流程
大数据·服务器·数据库·python·算法·json·图搜索算法
LYFlied1 天前
【每日算法】LeetCode 1143. 最长公共子序列
前端·算法·leetcode·职场和发展·动态规划
天天扭码1 天前
以浏览器多进程的角度解构页面渲染的整个流程
前端·面试·浏览器
长安er1 天前
LeetCode 20/155/394/739/84/42/单调栈核心原理与经典题型全解析
数据结构·算法·leetcode·动态规划·
MarkHD1 天前
智能体在车联网中的应用:第28天 深度强化学习实战:从原理到实现——掌握近端策略优化(PPO)算法
算法
能源系统预测和优化研究1 天前
【原创代码改进】考虑共享储能接入的工业园区多类型负荷需求响应经济运行研究
大数据·算法
yoke菜籽1 天前
LeetCode——三指针
算法·leetcode·职场和发展
小高不明1 天前
前缀和一维/二维-复习篇
开发语言·算法