Skip to content

Commit 8fc5b2f

Browse files
authored
Merge pull request #117 from dsrao711/issue_116
Add Python solution for merged intervals in dsa450
2 parents adf25bb + 60c5b85 commit 8fc5b2f

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

DSA 450 GFG/merge_intervals.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
2+
# Link for the problem : https://leetcode.com/problems/merge-intervals/
3+
4+
# Input: intervals = [[1,3],[2,6],[8,10],[15,18]]
5+
# Output: [[1,6],[8,10],[15,18]]
6+
# Explanation: Since intervals [1,3] and [2,6] overlaps, merge them into [1,6].
7+
8+
# Create a list merged to store the merged intervals
9+
# Condition for merging : If the first index of current interval is less than last index of previous interval
10+
# If condition satisfies , replace the last index of previous interval with the maximum between current and previous interval's last index
11+
# If not , then simply append the interval in the merged list
12+
13+
14+
15+
class Solution:
16+
def merge(self, intervals):
17+
18+
intervals.sort(key = lambda x : x[0])
19+
merged = []
20+
21+
for interval in intervals :
22+
23+
if not merged or merged[-1][1] < interval[0] :
24+
merged.append(interval)
25+
else :
26+
merged[-1][1] = max(merged[-1][1] , interval[1])
27+
28+
return merged
29+
30+

0 commit comments

Comments
 (0)