Leetcode--56. 合并区间
给出一个区间的集合,请合并所有重叠的区间。
示例 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] 可被视为重叠区间。
思路:先给每行数按照第一个数字排序
之后遍历,如果nums[i][0]<=nums[i+1][0]&&nums[i][1]>=nums[i+1][1],说明两个数组可以合并,否则把nums[i][0],nums[i][1]加入要输出的区间,之后把i+1设为新的标志,开始比较
提交的代码:
class Solution {
public int[][] merge(int[][] intervals) {
if (intervals == null || intervals.length == 0) {
return intervals;
}
Arrays.sort(intervals, new Comparator<int[]>() {
public int compare(int[] o1, int[] o2) {
if (o1[0] == o2[0]) {
return o1[1] - o2[1];
}
return o1[0] - o2[0];
}
});
int a=intervals[0][0],b=intervals[0][1];
int nums[][] = new int[intervals.length][2];
if(intervals.length==1)
{
return intervals;
}
int k=0;
//System.out.println(a+" "+b);
for(int i=1;i<intervals.length;i++)
{
if(intervals[i][0]>=a&&b>=intervals[i][0])
{
b = Math.max(b, intervals[i][1]);
}
else
{
nums[k][0] = a;
nums[k][1] = b;
k++;
a = intervals[i][0];
b = intervals[i][1];
}
nums[k][0] = a;
nums[k][1] = b;
//System.out.println(a+" "+b);
}
int n[][] = new int[k+1][2];
for(int i=0;i<=k;i++)
{
n[i][0] = nums[i][0];
n[i][1] = nums[i][1];
}
return n;
}
}
Leetcode--56. 合并区间相关推荐
- 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]] 解释: 区间 ...
- 56. 合并区间 排序数组
https://www.b2bchain.cn/6393.html 56. 合并区间首先对开始元素进行排序 之后比较结尾元素判断是否可以加入合并集合//给出一个区间的集合,请合并所有重叠的区间. // ...
- 56. 合并区间 golang
56. 合并区间 给出一个区间的集合,请合并所有重叠的区间. 示例 1: 输入: [[1,3],[2,6],[8,10],[15,18]] 输出: [[1,6],[8,10],[15,18]] 解释: ...
- 力扣记录:贪心算法3较难(1)区间问题——55 跳跃游戏,45 跳跃游戏II,452 用最少数量的箭引爆气球,435 无重叠区间,763 划分字母区间,56 合并区间
本次题目 55 跳跃游戏 45 跳跃游戏II 452 用最少数量的箭引爆气球 435 无重叠区间 763 划分字母区间 56 合并区间 55 跳跃游戏 局部最优:不管每次跳多少步,取最大跳跃步数,若覆 ...
- LeetCode 55跳跃游戏56合并区间57插入区间
原创公众号:bigsai 希望和优秀的你做朋友,感觉不错还请一键三连. 回复进群即可加入和200+人一起打卡.上周打卡: LeetCode 47全排列Ⅱ&48旋转图像 LeetCode 49字 ...
最新文章
- 汉语科技术语识别实验结果
- ubuntu修改gcc版本
- 二:Go编程语言规范-类型
- Laravel核心解读 -- 事件系统
- pygame为游戏添加背景_用 Python 制作飞机大战小游戏
- 按位与、按位或、按位异或、左移、右移运算符的简单介绍(部分二进制运算符的简单介绍)...
- servlet的请求转发与重定向
- lua学习 第二章数据与标准库
- 遥感影像数据下载网址
- Zigbee和wifi信道设置避免同频干扰
- ka电器表示什么意思_电路中FU、KM、KA、KT、KV、SA、FR和SB分别是什么电器元件的文字符号?...
- 了解卡尔曼滤波器2--最优状态估计
- 3dsmax展uv_3dsmax展uv是啥玩意
- JDK8新特性-Lambda
- ttl低电平接大电阻_电路中上拉、下拉电阻的作用及原理
- FPGA之VGA转HDMI之编码模块的编写
- iOS摸鱼周报 第二十四期
- 腾讯的web QQ接口
- linux系统硬盘数据恢复软件下载,11 款最棒的 Linux 数据恢复工具
- 果园机器人反思稿_《果园机器人》读后感
热门文章
- LeetCode 142. 环形链表 II(链表环的检测)
- mysql最左_Mysql最左原则
- elasticsearch 工作原理_【154期】面试官:你能说说 Elasticsearch 查询数据的工作原理是什么吗?...
- python中的类属性和实例属性
- 细说ReactiveCocoa的冷信号与热信号(二):为什么要区分冷热信号
- Android远程调试的探索与实现
- 消息中间件系列(六):什么是流量削峰?如何解决秒杀业务的削峰场景
- 如何关闭docker容器里的进程
- docker镜像打包save,载入load,启动run
- 推荐系统中的Embedding