Explain greedy and when it works.
01
01
Understand the problem
greedy
02
02
Attempt it yourself
Sketch your approach before reading the solution — that's what interviews test.
Stuck? AI Nudge Available
Get a conceptual hint to guide your logic without spoiling the final implementation.
03
03
Study the solution
The solution is waiting
Give it an honest attempt first — then compare your thinking with the full walkthrough.
04
04
Read the code
Activity selection (interval scheduling)
Run Playgrounddef max_activities(intervals):
# intervals = list of (start, end)
intervals.sort(key=lambda x: x[1]) # by finish time
count, last_end = 0, float('-inf')
for start, end in intervals:
if start >= last_end:
count += 1
last_end = end
return count
# --- demo ---
print(max_activities([(1, 3), (2, 5), (4, 7), (6, 9), (8, 10)])) # 305
05
Join the discussion
Discussion (0)
Sign in to join the discussion.
No responses yet. Be the first to share what you think.