Skip to content

Commit d69f420

Browse files
Update data_structures/arrays/merge_intervals.py
Co-authored-by: priya-sundaram-dev <oc-409d01@agentmail.to>
1 parent 02d7189 commit d69f420

1 file changed

Lines changed: 5 additions & 5 deletions

File tree

‎data_structures/arrays/merge_intervals.py‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,17 +48,17 @@ def merge_intervals(intervals: list[list[int]]) -> list[list[int]]:
4848
raise ValueError(msg)
4949

5050
# Sort intervals based on the start time
51-
intervals.sort(key=lambda interval: interval[0])
51+
# Sort a copy so the caller's list (and its inner lists) are never mutated
52+
sorted_intervals = sorted(intervals, key=lambda interval: interval[0])
5253

53-
merged: list[list[int]] = [intervals[0]]
54+
merged: list[list[int]] = [sorted_intervals[0][:]]
5455

55-
for current in intervals[1:]:
56+
for current in sorted_intervals[1:]:
5657
last = merged[-1]
5758

5859
# If current interval overlaps with the last merged interval
5960
if current[0] <= last[1]:
6061
last[1] = max(last[1], current[1])
6162
else:
62-
merged.append(current)
63-
63+
merged.append(current[:])
6464
return merged

0 commit comments

Comments
 (0)