Explain greedy and when it works.
Skip to solutionKEEP THE
hardDSA
What is a greedy algorithm?
591 views
01
Understand the problem
greedy
02
Attempt it yourself
Sketch your approach before reading the solution — that's what interviews test.
Nudge consolestandby
Stuck? Beam a request up — the console returns a conceptual nudge that guides your logic without spoiling the implementation.
03
Study the solution
A greedy algorithm makes the locally optimal choice at each step, hoping for a global optimum. It works only when the problem has the greedy-choice property and optimal substructure (e.g. interval scheduling, Huffman coding, Dijkstra). Otherwise it can fail, and DP is needed.
Solution ready — 2 min read
Classified // press E to declassify
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
Join the discussion
Discussion (0)
Sign in to join the discussion.
No responses yet. Be the first to share what you think.
Transmission complete // awaiting log
KEEP THE
STREAK ALIVE.
Dossier 117 of 127 decoded in the Data Structures & Algorithms track. One more won't hurt.