Skip to content

Commit 0a17927

Browse files
committed
Re-solve "Non-overlapping Intervals"
1 parent 1b53a94 commit 0a17927

File tree

1 file changed

+13
-5
lines changed

1 file changed

+13
-5
lines changed

src/non_overlapping_intervals.py

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,23 @@
11
class Solution:
22
def eraseOverlapIntervals(self, intervals: list[list[int]]) -> int:
3+
if not intervals:
4+
return 0
5+
36
n = len(intervals)
47
result = 0
5-
intervals = sorted(intervals, key=lambda x: x[0])
6-
last_end = intervals[0][1]
8+
intervals.sort()
9+
10+
_, end = intervals[0]
711

812
for i in range(1, n):
9-
if intervals[i][0] < last_end:
10-
last_end = min(last_end, intervals[i][1])
13+
next_start, next_end = intervals[i]
14+
15+
if next_start < end:
1116
result += 1
17+
18+
if next_end < end:
19+
end = next_end
1220
else:
13-
last_end = intervals[i][1]
21+
end = next_end
1422

1523
return result

0 commit comments

Comments
 (0)