您的位置:首页 > 编程语言 > Python开发

LeetCode||57. Insert Interval

2017-11-14 16:09 351 查看
Given a set of non-overlapping intervals, insert a new interval into the intervals (merge if necessary).

You may assume that the intervals were initially sorted according to their start times.

Example 1:

Given intervals 
[1,3],[6,9]
, insert and merge 
[2,5]
 in
as 
[1,5],[6,9]
.

Example 2:

Given 
[1,2],[3,5],[6,7],[8,10],[12,16]
, insert and merge 
[4,9]
 in
as 
[1,2],[3,10],[12,16]
.

This is because the new interval 
[4,9]
 overlaps with 
[3,5],[6,7],[8,10]
.
我才不告诉你,我是在上一题的基础上,把新的interval插入intervals中,直接跑一遍
# Definition for an interval.
# class Interval(object):
# def __init__(self, s=0, e=0):
# self.start = s
# self.end = e

class Solution(object):
def insert(self, intervals, newInterval):
"""
:type intervals: List[Interval]
:type newInterval: Interval
:rtype: List[Interval]
"""
intervals.append(newInterval)
intervals.sort(key = lambda x:x.start)
length = len(intervals)
res=[]
for i in range(length):
if res==[]:
res.append(intervals[i])
else:
size = len(res)
if res[size-1].start<=intervals[i].start<=res[size-1].end:
res[size-1].end = max(intervals[i].end, res[size-1].end)
else:
res.append(intervals[i])
return res
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode python