Skip to content

Commit 487b295

Browse files
authored
Update merge-intervals.py
1 parent 3eafb6b commit 487b295

File tree

1 file changed

+8
-23
lines changed

1 file changed

+8
-23
lines changed

Python/merge-intervals.py

Lines changed: 8 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,17 @@
11
# Time: O(nlogn)
22
# Space: O(1)
33

4-
class Interval(object):
5-
def __init__(self, s=0, e=0):
6-
self.start = s
7-
self.end = e
8-
9-
def __repr__(self):
10-
return "[{}, {}]".format(self.start, self.end)
11-
12-
134
class Solution(object):
145
def merge(self, intervals):
156
"""
16-
:type intervals: List[Interval]
17-
:rtype: List[Interval]
7+
:type intervals: List[List[int]]
8+
:rtype: List[List[int]]
189
"""
19-
if not intervals:
20-
return intervals
21-
22-
intervals.sort(key=lambda x: x.start)
23-
iterator = iter(intervals)
24-
result = [next(iterator)]
25-
for current in iterator:
26-
prev = result[-1]
27-
if current.start <= prev.end:
28-
prev.end = max(current.end, prev.end)
10+
intervals.sort()
11+
result = []
12+
for interval in intervals:
13+
if not result or interval[0] > result[-1][1]:
14+
result.append(interval)
2915
else:
30-
result.append(current)
31-
16+
result[-1][1] = max(result[-1][1], interval[1])
3217
return result

0 commit comments

Comments
 (0)