leetcode.array--57. Insert Interval
2017-10-17 22:12
323 查看
题目:57. Insert Interval
题目链接:https://leetcode.com/problems/insert-interval/description/
这个题呀跟上一个差不多,题目给定了若干个区间,这些区间已经按照start升序排序,要求呢将给出的新区间插进去,返回新区间插入合并的结果。
因为已经排好序了嘛,应该是分情况讨论+遍历吧。但是我把上个题的代码复制过来了,没有重新写
![](http://static.blog.csdn.net/xheditor/xheditor_emot/default/bye.gif)
Python:
# Definition for an interval.
# class Interval(object):
# def __init__(self, s=0, e=0):
# self.start = s
# self.end = e
from operator import attrgetter
class Solution(object):
def insert(self, intervals, newInterval):
"""
:type intervals: List[Interval]
:type newInterval: Interval
:rtype: List[Interval]
"""
def merge(intervals):
length = len(intervals)
if length == 0:
return []
if length < 2:
return [intervals[0]]
intervals.sort(key=attrgetter("start"))
res = []
res.append(intervals[0])
rear = 0
for i in range(1, length):
if intervals[i].start <= res[rear].end:
if intervals[i].end > res[rear].end:
res[rear].end = intervals[i].end
else:
res.append(intervals[i])
rear += 1
return res
intervals.append(newInterval)
return merge(intervals)
题目链接:https://leetcode.com/problems/insert-interval/description/
这个题呀跟上一个差不多,题目给定了若干个区间,这些区间已经按照start升序排序,要求呢将给出的新区间插进去,返回新区间插入合并的结果。
因为已经排好序了嘛,应该是分情况讨论+遍历吧。但是我把上个题的代码复制过来了,没有重新写
![](http://static.blog.csdn.net/xheditor/xheditor_emot/default/bye.gif)
Python:
# Definition for an interval.
# class Interval(object):
# def __init__(self, s=0, e=0):
# self.start = s
# self.end = e
from operator import attrgetter
class Solution(object):
def insert(self, intervals, newInterval):
"""
:type intervals: List[Interval]
:type newInterval: Interval
:rtype: List[Interval]
"""
def merge(intervals):
length = len(intervals)
if length == 0:
return []
if length < 2:
return [intervals[0]]
intervals.sort(key=attrgetter("start"))
res = []
res.append(intervals[0])
rear = 0
for i in range(1, length):
if intervals[i].start <= res[rear].end:
if intervals[i].end > res[rear].end:
res[rear].end = intervals[i].end
else:
res.append(intervals[i])
rear += 1
return res
intervals.append(newInterval)
return merge(intervals)
相关文章推荐
- 57. Insert Interval-leetcode-java
- LeetCode 57. Insert Interval
- [Leetcode] 57. Insert Interval
- Leetcode 56. Merge Intervals && 57. Insert Interval(Hard)
- leetcode: 57. Insert Interval
- [leetcode] 57. Insert Interval 解题报告
- Leetcode 57. Insert Interval (Medium) (cpp)
- LeetCode 57. Insert Interval
- [Leetcode] 57. Insert Interval
- LeetCode[Array]: Insert Interval
- LeetCode | 57. Insert Interval
- leetcode 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 56. Merge Intervals 57. Insert Interval
- Leetcode 57. Insert Interval (Medium) (java)
- Leetcode 57. Insert Interval