Skip to content

Commit 03c20b2

Browse files
[pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
1 parent badcbbf commit 03c20b2

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

data_structures/arrays/merge_intervals.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,15 @@ def merge_intervals(intervals: list[list[int]]) -> list[list[int]]:
1111
1212
Returns:
1313
List[List[int]]: A list of merged non-overlapping intervals.
14-
14+
1515
Edge Cases Handled:
1616
- Empty list: returns []
1717
- Single interval: returns the interval itself
1818
- Intervals already sorted or unsorted
1919
- Fully overlapping intervals
2020
- Invalid intervals (e.g., [[]] or intervals not having exactly 2 integers) raise ValueError
2121
22-
22+
2323
Examples:
2424
>>> merge_intervals([[1, 3], [2, 6], [8, 10], [15, 18]])
2525
[[1, 6], [8, 10], [15, 18]]
@@ -34,7 +34,7 @@ def merge_intervals(intervals: list[list[int]]) -> list[list[int]]:
3434
3535
Time Complexity:
3636
O(n log n) – sorting the intervals, where n is the number of intervals.
37-
37+
3838
Space Complexity:
3939
O(n) – storing the merged intervals.
4040
"""
@@ -43,7 +43,9 @@ def merge_intervals(intervals: list[list[int]]) -> list[list[int]]:
4343
return []
4444
for interval in intervals:
4545
if len(interval) != 2:
46-
raise ValueError(f"Each interval must have exactly 2 integers, got {interval}")
46+
raise ValueError(
47+
f"Each interval must have exactly 2 integers, got {interval}"
48+
)
4749
# Sort intervals based on the start time
4850
intervals.sort(key=lambda interval: interval[0])
4951

0 commit comments

Comments
 (0)