Explain binary searching a value range.
01
01
Understand the problem
binary-searchsearch-space
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
Koko eating bananas
Run Playgrounddef min_eating_speed(piles, hours):
def hours_needed(speed):
return sum((p + speed - 1) // speed for p in piles) # ceil division
lo, hi = 1, max(piles)
while lo < hi:
mid = (lo + hi) // 2
if hours_needed(mid) <= hours:
hi = mid # feasible — try slower
else:
lo = mid + 1 # too slow — speed up
return lo
# --- demo ---
print(min_eating_speed([3, 6, 7, 11], 8)) # 4
print(min_eating_speed([30, 11, 23, 4, 20], 5)) # 3005
05
Join the discussion
Discussion (0)
Sign in to join the discussion.
No responses yet. Be the first to share what you think.