Skip to content

Instantly share code, notes, and snippets.

@thepulkitagarwal
Last active November 5, 2015 16:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save thepulkitagarwal/92d54e753365c1b4e124 to your computer and use it in GitHub Desktop.
Save thepulkitagarwal/92d54e753365c1b4e124 to your computer and use it in GitHub Desktop.
Egg Dropping Puzzle
maxFloorsDictionary = {}
def findMaxFloors(numberOfEggs, numberOfSteps):
tupleEggsSteps = (numberOfEggs, numberOfSteps)
if (numberOfEggs == 1 or numberOfSteps == 1):
return numberOfSteps
elif tupleEggsSteps in maxFloorsDictionary:
return maxFloorsDictionary[tupleEggsSteps]
else:
maxFloorsDictionary[tupleEggsSteps] = findMaxFloors(numberOfEggs, numberOfSteps - 1) + findMaxFloors(numberOfEggs - 1, numberOfSteps - 1) + 1
return maxFloorsDictionary[tupleEggsSteps]
def findMinSteps(numberOfEggs, numberOfFloors):
numberOfSteps = 1
while(True):
if(numberOfFloors <= findMaxFloors(numberOfEggs, numberOfSteps)):
return numberOfSteps
numberOfSteps += 1
print findMinSteps(3, 100)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment