LeetCode--056--合并区间(java)
给出一个区间的集合,请合并所有重叠的区间。
示例 1:
输入: [[1,3],[2,6],[8,10],[15,18]] 输出: [[1,6],[8,10],[15,18]] 解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].
示例 2:
输入: [[1,4],[4,5]] 输出: [[1,5]] 解释: 区间 [1,4] 和 [4,5] 可被视为重叠区间。TIME:O(N)SPACE:O(N)
1 class Solution { 2 public int[][] merge(int[][] intervals) { 3 // 数据长度未达到合并操作要求 4 if (intervals.length < 2) 5 return intervals; 6 //按二维数组第一位排序 7 Arrays.sort(intervals, new Comparator<int[]>() { 8 @Override 9 public int compare(int[] o1, int[] o2) { 10 return o1[0] - o2[0]; 11 } 12 }); 13 List<int[]> list = new ArrayList<>(); 14 //合并区间,若区间不能合则前者加入list中 15 for (int i = 0; i < intervals.length - 1; i++) { 16 if (intervals[i + 1][0] <= intervals[i][1]) { 17 intervals[i + 1][0] = intervals[i][0]; 18 intervals[i + 1][1] = Math.max(intervals[i + 1][1], intervals[i][1]); 19 } else { 20 list.add(intervals[i]); 21 } 22 } 23 //最后的区间加入list中 24 list.add(intervals[intervals.length - 1]); 25 int[][] res = new int[list.size()][2]; 26 for (int i = 0; i < list.size(); i++) { 27 res[i][0] = list.get(i)[0]; 28 res[i][1] = list.get(i)[1]; 29 } 30 return res; 31 } 32 }
2019-05-17 09:55:30
转载于:https://www.cnblogs.com/NPC-assange/p/10879749.html
LeetCode--056--合并区间(java)相关推荐
- 《LeetCode力扣练习》第56题 合并区间 Java
<LeetCode力扣练习>第56题 合并区间 Java 一.资源 题目: 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, ...
- leetcode 56. 合并区间
leetcode 56. 合并区间 题目描述: 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] .请你合并所有重叠的区间, ...
- LeetCode 56 合并区间
56. 合并区间 难度中等1153收藏分享切换为英文接收动态反馈 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] .请你合 ...
- LeetCode 56. 合并区间(优先队列)
文章目录 1. 题目信息 2. 解题 2.1 报错的答案 2.2 优先队列解题 1. 题目信息 给出一个区间的集合,请合并所有重叠的区间. 示例 1:输入: [[1,3],[2,6],[8,10],[ ...
- leetcode - 56. 合并区间
给出一个区间的集合,请合并所有重叠的区间. 示例 1: 输入: [[1,3],[2,6],[8,10],[15,18]] 输出: [[1,6],[8,10],[15,18]] 解释: 区间 [1,3] ...
- Leetcode 56.合并区间 (每日一题 20210708)
以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] .请你合并所有重叠的区间,并返回一个不重叠的区间数组,该数组需恰好覆盖输入 ...
- LeetCode 56. 合并区间(合并区间+排序)
题目描述 给出一个区间的集合,请合并所有重叠的区间. 示例 1: 输入: [[1,3],[2,6],[8,10],[15,18]] 输出: [[1,6],[8,10],[15,18]] 解释: 区间 ...
- LeetCode 57. 插入区间(合并区间+排序)(区间重叠问题汇总)
题目描述 给出一个无重叠的 ,按照区间起始端点排序的区间列表. 在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间). 示例 1: 输入: interval ...
- 《LeetCode力扣练习》第617题 合并二叉树 Java
<LeetCode力扣练习>第617题 合并二叉树 Java 一.资源 题目: 给你两棵二叉树: root1 和 root2 . 想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些 ...
- LeetCode 55跳跃游戏56合并区间57插入区间
原创公众号:bigsai 希望和优秀的你做朋友,感觉不错还请一键三连. 回复进群即可加入和200+人一起打卡.上周打卡: LeetCode 47全排列Ⅱ&48旋转图像 LeetCode 49字 ...
最新文章
- 基准分类模型、分类应用(多分类数字识别、疾病预测、欺诈检测)、监督学习总结
- 第104天:web字体图标使用方法
- 从Linux上查看接口路由IP(吓一跳ip)
- linux查看执行过的命令行,在Linux命令终端中查看和编辑曾执行过的命令 – LINUX笔记 – CFEI.NET...
- 详解Java动态代理机制
- java中的char类型所占空间
- 很有趣的一道题:找出有毒的瓶子
- 首都师范大学数学专业考研试题参考解答
- blender_(uv应用)................http://digitalman.blog.163.com/blog/static/23874605620174172058299/...
- java课设超市收银系统_超市收银系统java课程设计.doc
- 1273:【例9.17】货币系统
- 【idea】IntelliJ IDEA如何快速的定位数据库某张表在哪里调用---超详情!!!
- excel调查问卷的录入
- 图像形状及数量识别(matlab实现)
- 字节跳动自研线上引流回放系统的架构演进
- PS创建选区的工具-----快速选择和魔棒
- Python爬虫日记2——使用requests
- python切片是什么意思_python中的切片是什么?(实例解析)
- 做好这三步,你的小程序离“爆款”就不远了
- SQL Server | 设置默认值