[1,2]
[2,3]
[1,3]
[3,4]
0
1
2
3
4
[0][1][2][3][4]
Greedy by end time
▸1sort intervals by end2prevEnd ← −∞; removed ← 03for iv in intervals:4 if iv.start >= prevEnd: keep; prevEnd ← iv.end5 else: removed += 1 # iv ends later — drop it6return removed
state
- sorted by end[1,2] [2,3] [1,3] [3,4]