Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started
Egg Dropping Puzzle
00:00
5 left

Egg Dropping Puzzle

HardPython

Problem

During SanDisk SSD firmware validation, a test build is known to fail from some floor onward. Given n ordered floors and k identical eggs, determine the first floor at which an egg breaks while minimizing the worst-case number of drops.

An egg breaks on every floor at or above the unknown threshold and survives below it. The supplied Boolean array models the hidden behavior: breaks[i] is True when an egg breaks on floor i + 1. Return the first breaking floor, or n + 1 if the egg never breaks.

Your algorithm must adapt its next tested floor based on previous results and must use no more drops than the theoretical optimum for the given k and n.

Formal Specification

Implement find_break_floor(breaks, eggs):

  • breaks: a Boolean array of length n, monotonic as False, ..., False, True, ..., True.
  • eggs: the number of available eggs.
  • Return an integer in [1, n + 1], where n + 1 means no breaking floor exists.

Constraints

  • 1 <= len(breaks) <= 10^5
  • 1 <= eggs <= 100
  • breaks contains only Boolean values
  • breaks is monotonic, with no True value appearing before a False value
  • The answer is the first True position using one-based floor numbering, or n + 1 if no value is True

Function Signature

def find_break_floor(breaks, eggs):
Interviewer

Your question is Egg Dropping Puzzle. Start with the requirements in the Question tab.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

You need to log in / sign up to run or submit.
CodePython 3
You need to log in / sign up to run or submit.Ln 2
Run your code to see test output here.