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
as
Example 2:
Given
as
This is because the new interval
我才不告诉你,我是在上一题的基础上,把新的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
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 57. Insert Interval(插入区间)
- LeetCode 57. Insert Interval(插入区间)
- [leetcode]57. Insert Interval(Java)
- LeetCode --- 57. Insert Interval
- [Leetcode] 57. Insert Interval
- *Leetcode 57. Insert Interval
- LeetCode 57. Insert Interval
- LeetCode 57. Insert Interval
- [Leetcode] 57. Insert Interval
- leetcode 56. Merge Intervals 57. Insert Interval
- Leetcode 57. Insert Interval
- leetcode 57. Insert Interval
- leetcode hard模式专杀之57. Insert Interval
- LeetCode --- 57. Insert Interval
- LeetCode | 57. Insert Interval
- leetcode 57. Insert Interval
- [Leetcode]57. Insert Interval
- LeetCode 57. Insert Interval---Python实现
- Leetcode 57. Insert Interval (Medium) (cpp)
- [leetcode] 57. Insert Interval 解题报告