-
Notifications
You must be signed in to change notification settings - Fork 476
Expand file tree
/
Copy path0056.py
More file actions
26 lines (22 loc) · 726 Bytes
/
0056.py
File metadata and controls
26 lines (22 loc) · 726 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Definition for an interval.
class Interval:
def __init__(self, s=0, e=0):
self.start = s
self.end = e
class Solution:
def merge(self, intervals):
"""
:type intervals: List[Interval]
:rtype: List[Interval]
"""
intervals.sort(key=lambda x: x.start)
result = list()
for item in intervals:
if not result or result[-1].end < item.start:
result.append(item)
else:
result[-1].end = max(result[-1].end, item.end)
return result
if __name__ == "__main__":
intervals = list(Interval(1,3), Interval(2,6), Interval(8,10), Interval(15,18))
print(Solution().merge(intervals))