Google is also known for its interesting interview questions. Google est également connu pour ses intéressantes questions. Enjoy this one and my solution. Profitez de celui-ci et ma solution. Suppose you have two eggs. Supposons que vous disposez de deux oeufs. These are special eggs—they can take much more punishment than you average chicken egg. Ces sont des oeufs-ils peuvent prendre beaucoup plus que vous la peine moyenne d'oeufs de poules. The question is exactly just how much punishment can they take? La question est de savoir exactement à quel point la peine peuvent-ils prendre?


Using a 100 storey building and only the two eggs, how would you find out which is the highest floor of the building you can drop the eggs from, before they break? L'utilisation d'un 100 étages et seules les deux œufs, comment pouvez-vous savoir qui est le plus haut étage de l'immeuble que vous pouvez faire glisser les oeufs de, avant de rompre?

It could be the 1st floor but it could also be the 99th floor—you don’t know but to test, you need to try dropping the eggs from different floors and see what happens. Il pourrait être le 1er étage, mais il pourrait aussi être la 99e étage, vous ne sais pas, mais pour tester, vous devez essayer d'abandonner les oeufs de différents étages et voir ce qui se passe.

via SitePoint par SitePoint

Are you done yet? Êtes-vous déjà fait? My solution is simple. Ma solution est simple.
Use binary search with one egg till it breaks. Utilisation de recherche binaire avec un oeuf jusqu'à ce qu'il casse. Use linear search with the second egg till it breaks. Utilisez la recherche linéaire avec le deuxième œuf jusqu'à ce qu'il casse. And you have the solution. Et vous avez la solution. If that’s not clear enough allow me to explain. Si ce n'est pas assez clair permettez-moi d'expliquer.

First drop one egg from 50th (midway). Tout d'abord un oeuf baisse de 50e (à mi-chemin).

  • If it breaks (no more binary search) then drop the second egg from first floor. Si ça casse (pas plus de recherche binaire), puis la deuxième chute de l'œuf premier étage. Move up one floor at a time till it breaks. Monter un étage à un moment jusqu'à ce qu'il casse.
  • If it doesn’t break then drop it from 75th floor. Si elle ne se brise pas le laisser tomber puis de 75ème étage.
    • If it breaks then drop the second egg from 76th floor. Si il se casse alors la deuxième chute de l'œuf 76e étage. Move up one floor at a time till it breaks. Monter un étage à un moment jusqu'à ce qu'il casse.
    • If it doesn’t break then drop it from the 87th floor… Si elle ne se brise pas le laisser tomber puis de la 87 e étage…

I hope you get the picture by now. J'espère que vous obtenez l'image maintenant. I would love to see anyone coming with a better optimized solution. J'aimerais voir quelqu'un venir avec une meilleure solution optimisée.

Update: The optimization is to minimize the number of drops. Mise à jour: L'optimisation est de minimiser le nombre de gouttes.