Skip to content

Commit 0eaf3ac

Browse files
authored
Refactor merge_intervals function docstring
Updated docstring formatting and improved error message clarity.
1 parent 14d22c0 commit 0eaf3ac

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

data_structures/arrays/merge_intervals.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
def merge_intervals(intervals: list[list[int]]) -> list[list[int]]:
2-
"""
2+
"""
33
Merge all overlapping intervals.
44
55
Each interval is represented as a list of two integers [start, end].
@@ -17,7 +17,8 @@ def merge_intervals(intervals: list[list[int]]) -> list[list[int]]:
1717
- Single interval: returns the interval itself
1818
- Intervals already sorted or unsorted
1919
- Fully overlapping intervals
20-
- Invalid intervals (e.g., [[]] or intervals not having exactly 2 integers) raise ValueError
20+
- Invalid intervals (e.g., [[]] or intervals not having exactly
21+
2 integers) raise ValueError
2122
2223
Examples:
2324
>>> merge_intervals([[1, 3], [2, 6], [8, 10], [15, 18]])
@@ -40,10 +41,12 @@ def merge_intervals(intervals: list[list[int]]) -> list[list[int]]:
4041

4142
if not intervals:
4243
return []
44+
4345
for interval in intervals:
4446
msg = f"Each interval must have exactly 2 integers, got {interval}"
4547
if len(interval) != 2:
4648
raise ValueError(msg)
49+
4750
# Sort intervals based on the start time
4851
intervals.sort(key=lambda interval: interval[0])
4952

@@ -59,3 +62,4 @@ def merge_intervals(intervals: list[list[int]]) -> list[list[int]]:
5962
merged.append(current)
6063

6164
return merged
65+

0 commit comments

Comments
 (0)