56. Merge Interval
56. Merge Interval
0. 参考文献
| 序号 | 文献 |
|---|---|
| 1 | 花花酱 LeetCode 56. Merge Intervals |
| 2 | [LeetCode] Merge Intervals 合并区间 |
1. 题目
Given a collection of intervals, merge all overlapping intervals.
Example 1:
Input: [[1,3],[2,6],[8,10],[15,18]]
Output: [[1,6],[8,10],[15,18]]
Explanation: Since intervals [1,3] and [2,6] overlaps, merge them into [1,6].
Example 2:
Input: [[1,4],[4,5]]
Output: [[1,5]]
Explanation: Intervals [1,4] and [4,5] are considered overlapping.
NOTE: input types have been changed on April 15, 2019. Please reset to default code definition to get new method signature.
2. 思路
本题是对区间的合并。首先需要对输入的区间按第一个数字进行排序。然后把数组的第一个区间放入结果集中,后续的区间依次和其比较。如果能合并就合并,不能的话就把当前区间放入结果集。
3. 实现
class Solution(object):
def merge(self, intervals):
"""
:type intervals: List[List[int]]
:rtype: List[List[int]]
"""
ret = []
if len(intervals) == 0 :return ret
ret = []
intervals.sort(key = lambda x:x[0])
ret.append(intervals[0])
for i in range(1,len(intervals)):
if intervals[i][0] >= ret[-1][0] and intervals[i][0] <= ret[-1][1] :
t = [ret[-1][0],max(intervals[i][1],ret[-1][1])]
ret[-1] = t
else:
ret.append(intervals[i])
return ret
56. Merge Interval的更多相关文章
- leetcode 57 Insert Interval & leetcode 1046 Last Stone Weight & leetcode 1047 Remove All Adjacent Duplicates in String & leetcode 56 Merge Interval
lc57 Insert Interval 仔细分析题目,发现我们只需要处理那些与插入interval重叠的interval即可,换句话说,那些end早于插入start以及start晚于插入end的in ...
- leetcode 56. Merge Intervals 、57. Insert Interval
56. Merge Intervals是一个无序的,需要将整体合并:57. Insert Interval是一个本身有序的且已经合并好的,需要将新的插入进这个已经合并好的然后合并成新的. 56. Me ...
- [Leetcode][Python]56: Merge Intervals
# -*- coding: utf8 -*-'''__author__ = 'dabay.wang@gmail.com' 56: Merge Intervalshttps://oj.leetcode. ...
- 56. Merge Intervals - LeetCode
Question 56. Merge Intervals Solution 题目大意: 一个坐标轴,给你n个范围,把重叠的范围合并,返回合并后的坐标对 思路: 先排序,再遍历判断下一个开始是否在上一个 ...
- LintCode 156: Merge Interval
LintCode 156: Merge Interval 题目描述 给出若干闭合区间,合并所有重叠的部分. 样例 给出的区间列表 => 合并后的区间列表: [ [ [1, 3], [1, 6], ...
- 间隔问题,合并间隔(merge interval),插入间隔(insert interval)
Merge Interval: Given a collection of intervals, merge all overlapping intervals. For example,Given ...
- 刷题56. Merge Intervals
一.题目说明 题目是56. Merge Intervals,给定一列区间的集合,归并重叠区域. 二.我的做法 这个题目不难,先对intervals排序,然后取下一个集合,如果cur[0]>res ...
- 56. Merge Intervals 57. Insert Interval *HARD*
1. Merge Given a collection of intervals, merge all overlapping intervals. For example,Given [1,3],[ ...
- Leetcode#56 Merge Intervals
原题地址 排序+合并,没啥好说的 第一次尝试C++的lambda表达式,有种写js的感觉,很神奇 c11就支持了lambda表达式,仔细想想,我学C++大概就是在09~10年,c11还没有发布,不得不 ...
随机推荐
- Form submit
方法1:使用form onsubmit标签 return XXX()方法 <!--onsubmit--> <form id="formid" name=" ...
- 注册.NET Framework 到IIS服务器
一.注册.NET 4.0 32位的Windows:--------------------------------------------------------------------------- ...
- JS 输入框智能提示
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...
- Win10 如何以管理员身份设置开机自启程序(2)
原文:Win10 如何以管理员身份设置开机自启程序(2) 自己水平太菜,对Windows的权限问题一直不是特别了解.之前在<Win10 如何以管理员身份设置开机自启程序(1)>一文中介绍了 ...
- Visual Studio 2015 和 Apache Cordova 跨平台开发入门
原文:Visual Studio 2015 和 Apache Cordova 跨平台开发入门(一) 基于 Windows 10 的 Visual Studio 2015 跨平台的应用开发主要分为基于V ...
- 浏览器禁用cookie后php如何保持session会话-use_trans_sid机制
原文:浏览器禁用cookie后php如何保持session会话-use_trans_sid机制 为防止浏览器禁用cookie导致服务器会话无法保持,php开发了一个机制,该机制开启后,浏览器发起请求后 ...
- spring.net的简单使用(二)资源配置
主要对资源配置做进一步的解析. 对资源位置的配置是在spring节点的context下,resource节点配置. spring.net的资源是可以设置在三种不同的位置的, 1.配置文件中 <r ...
- Microsoft .NET Framework 3.5 SP1安装错误 1603
ghost版安装时由于系统简化引起上述错误,你按下面方法试一下1.点击电脑桌面右下角的“开始”按钮,点击“运行”按钮,在弹出的节目输入框中输入“regedit”.2.在弹出来的“注册表编辑器”界面上, ...
- 青云QingCloud黄允松:最高效的研发管理就是没有管理
摘要: 对于底层技术创新而言,没有管理是最好的管理,小规模作战,快速试错,迅速转变方向,迭代周期一定要短. 钛媒体注:钛媒体.商业价值联合主办的第五届“MIIC移动互联网创新大会”如期举行.2015 ...
- 使用Func<T1, T2, TResult> 委托返回匿名对象
Func<T1, T2, TResult> 委托 封装一个具有两个参数并返回 TResult 参数指定的类型值的方法. 语法 public delegate TResult Func< ...