
leetcode做题记录0057
发布日期:2021-05-07 13:48:25
浏览次数:24
分类:技术文章
本文共 1607 字,大约阅读时间需要 5 分钟。
leetcode 0057
说明
只是为了记录一下,不求多快,也不深究。
会简要描述思路,代码中不写注释。
如碰到不会做的用了别人代码会在博客中标出。
题目描述
思路
先找出左区间和右区间的理想位置,中间的都不要了,因为被包含了。
再处理一下左右两边有重合的区间。
注意边界条件。
class Solution { public int[][] insert(int[][] intervals, int[] newInterval) { if (intervals.length < 1) { int[][] res = new int[1][2]; res[0][0] = newInterval[0]; res[0][1] = newInterval[1]; return res; } int idxLeft = intervals.length, idxRight = intervals.length; for (int i = 0; i < intervals.length; i++) { if (intervals[i][0] >= newInterval[0]) { idxLeft = i; break; } } for (int i = 0; i < intervals.length; i++) { if (intervals[i][1] >= newInterval[1]) { idxRight = i; break; } } List
> lli = new ArrayList
>(); for (int i = 0; i < intervals.length; i++) { if (i == idxLeft) { List li = new ArrayList (); li.add(newInterval[0]); li.add(newInterval[1]); lli.add(li); } if (i < idxLeft || i >= idxRight) { List li = new ArrayList (); li.add(intervals[i][0]); li.add(intervals[i][1]); lli.add(li); } else { continue; } } if (idxLeft == intervals.length) { List li = new ArrayList (); li.add(newInterval[0]); li.add(newInterval[1]); lli.add(li); } for (int i = 0; i < lli.size() - 1; i++) { if (lli.get(i + 1).get(0) <= lli.get(i).get(1)) { if (lli.get(i).get(1) < lli.get(i + 1).get(1)) { lli.get(i).remove(1); lli.get(i).add(lli.get(i + 1).get(1)); } lli.remove(i + 1); i--; } } int[][] res = new int[lli.size()][2]; for (int i = 0; i < lli.size(); i++) { res[i][0] = lli.get(i).get(0); res[i][1] = lli.get(i).get(1); } return res; }}
发表评论
最新留言
感谢大佬
[***.8.128.20]2025年04月15日 18时01分46秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
蓝桥杯四平方和(暴力)
2019-03-04
手机号码(数位dp-dfs)
2019-03-04
算法训练 Anagrams问题
2019-03-04
Linux-文件目录类常用指令3
2019-03-04
搜索查找类指令
2019-03-04
数字三角形的无返回值的深度优先搜索解法
2019-03-04
完全背包问题的简化思路
2019-03-04
Jquery添加元素
2019-03-04
Jquery使用需要下载的文件
2019-03-04
Spring中如何传递参数的问题
2019-03-04
BST中某一层的所有节点(宽度优先搜索)
2019-03-04
广度优先搜索
2019-03-04
对于递归的理解
2019-03-04
二分查找(递归)
2019-03-04
猜字母
2019-03-04
Linux网络环境配置(设置ip地址)
2019-03-04
Idea使用Spring Initializr来快速创建springboot项目
2019-03-04
C++邻接表存储图的深度优先搜索
2019-03-04
C++实现Dijkstra算法(单源路径最短算法)
2019-03-04