Comics: classique questions d'entrevue Google « lancer des ufs » et voir ce que vous feriez?

 Le lendemain

Titre: jeter des questions ufs

Il y a deux ufs ont été lancés vers le bas de 100 étages, afin de tester la dureté des oeufs. Par exemple, aucun oeuf cassé à au 9ème étage, au 10ème étage et a cassé, puis a cassé l'uf est pas le point critique est le 9ème étage.

Q: Comment utiliser le moins de tentatives, tester le point critique de l'uf est pas cassé?

Pour la châtaigne, les méthodes les plus stupides de test, qu'est-ce? L'un des oeufs, jeté du début de niveau 1. Si la première couche ne se décompose pas, le deuxième commutateur de couche 2 à jeter, sinon rompu à la couche 2, la couche 3 au changement touche ....... pas rompu si la première couche 59, la couche 60 à la seconde touche de changement; 60 Si la première couche est rompue, ce qui indique que le point critique est pas cassé rez-de-59e.

Dans le pire des cas, cette méthode doit lancer 100 fois.

Première méthode: dichotomie

Une méthode similaire à une recherche binaire, les ufs de plancher de la moitié (couche 50) à jeter.

Si l'uf d'abord, le cassé de 50 étages, le second oeufs, ils commencent à jeter de la couche 1, couche par couche de croissance, a été jeté dans le 49ème étage.

Si la première couche d'uf 50 n'est pas cassé, puis continuer à utiliser la dichotomie, jeter la moitié (75 couches) restant étages ......

Cette méthode est dans le pire des cas, essayez 50 fois.

Méthode deux: Racine carrée Méthode

Comment faire un certain nombre de tentatives sur les ufs et deuxième oeuf d'or, comme il équilibré?

Très simple à faire une opération de racine carrée, la racine carrée de 100 est 10.

Nous essayons donc de jeter une fois tous les 10 couches, 10 couches du premier jet, jetant de la deuxième couche 20, et la troisième a été jeté du sol de 30 ...... 100 couches.

Ceci est de préférence le cas dans la première couche 10 Suidiao, des essais est de 1 + 9 = 10 fois.

Dans le pire des cas, la première couche 100 Suidiao, des tentatives de 10 + 9 = 19.

Cependant, il y a un petit point d'optimisation, nous pouvons commencer à jeter du 15e étage, puis jeté du 25e étage, 35ème étage ...... jusqu'à 95 couches.

Ainsi, dans le pire des cas de rupture couche plus 95, les tentatives de 9 + 9 = 18 fois.

En supposant que le nombre optimal de tentatives est x fois, pourquoi le premier jet choisira la première couche x il?

Voici quelques explications brûlerait le cerveau, s'il vous plaît assis serrés petits amis bonne aide:

Supposons que le premier jet de x + 1 couche:

Si le premier uf est cassé, puis le deuxième oeuf jeter une couche de la première couche, a été jeté dans la couche x.

De cette façon, nous avons essayé un total de x + 1 fois, et je suppose que les temps de x incohérents. Ainsi, le premier jet du sol doit être inférieure à x + 1 couche.

Supposons d'abord jeter la première couche x-1:

Si le premier uf est cassé, puis les oeufs une couche à un deuxième jet de niveau 1, a été jeté dans la première couche x-2.

En conséquence, le total nous avons essayé x-2 + 1 = x-1 fois, bien qu'il n'y ait pas de numéro de série d'hypothèses, mais il semble un peu trop conservatrice.

Supposons que le premier jet de la couche de x:

Si le premier uf est cassé, puis le deuxième oeuf jeter une couche de la première couche, a été jeté dans la première couche x-1.

En conséquence, le total nous avons essayé x-1 + 1 = x fois, ne dépasse pas très bien le nombre d'hypothèses.

Par conséquent, pour essayer de couvrir plusieurs étages, mais aussi des tentatives de faire en sorte que plus qu'hypothétique x, alors la première fois en jetant des oeufs choix optimal est la première couche de x.

Troisième méthode: méthode de résolution des équations

x + (x-1) + (x-2) + ... + 1 = 100

Cette équation est facile à comprendre:

Le polynôme est portée à gauche du plancher et de jeter les ufs à chaque fois. Comme je suppose x nombre de fois, donc ce polynôme x articles au total.

A droite est le nombre total de 100 étages.

Résolvons cette équation:

x + (x-1) + (x-2) + ... + 1 = 100 est converti en

(X + 1) * x / 2 = 100

X finale arrondie, pour donner x = 14

Par conséquent, le nombre de tentatives de la solution dans le pire des cas est de 14 fois, le premier étage jette également les ufs de 14 couches.

Enfin, nous mettons le cas du premier oeuf est pas cassé, tentative Nombre d'étages de la liste complète:

14, 27, 39, 50, 60, 69, 77, 84, 90, 95, 99, 100

Pour la prochaine vérification de la châtaigne:

Si l'uf est cassé ne couche 65 est le point critique, le premier étage est un uf jeté 14,27,50,60,69. Cette fois-ci avec un smash up.

Le second continue oeuf, à partir du 61ème étage, 61,62,63,64,65,66, cassé net cassé.

Ainsi, le point critique ne se décompose pas à obtenir 65 couches, le nombre total de tentatives est de 6 + 6 = 12 <  14.

Avertissement: Cet article est l'auteur de « programmeur petit gris « soumission, appartient à l'auteur original.

Appel à elle!

RPSC n ° respecter le concept du public « et dix millions de personnes la croissance totale de la technologie, » non seulement aux « geeks gros titres », colonne « Chatteris » pour la première fois une description technique unique point de vue de la personne qui se soucie industrie de la technologie, la mise au point de l'événement, plus « titres techniques » colonne, et la scène dans la profondeur de l'application de l'industrie de la technologie chaude d'interprétation, de sorte que tous les développeurs de suivre les tendances technologiques, demeurent sens vigilant de la technologie de l'odorat, les tendances de l'industrie, la technologie est la connaissance plus complète.

Si vous avez de nouvelles idées dans des articles de haute qualité ou des événements de l'industrie chaud, les tendances technologiques idées ou application pratique de la profondeur des programmes de scène, veuillez contacter la soumission RPSC, Contact: lettre Micro (de guorui_1118, s'il vous plaît noter le nom + contribution + emplois des entreprises), boîte aux lettres (guorui@csdn.net).

Réagir à devenir le plus des compétences de fin de front populaire, les compétences d'une carte papier rapide Get!
Précédent
Juin Python projet open source Top 10: Comment trouver rapidement une belle vibrato petite soeur?
Prochain
Des graphismes colorés double 11 pour gagner tout le réseau! iGame RTX 2070 Vulcan vente envoyer le bien-être
L'échec est plus grand que le succès, Apple est déjà vieux?
Aujourd'hui, le stade bottes appréciation: correspondra à la Wu Bulei
Liste juillet des langages de programmation: C est en avance VB.NET, Objective-C pour revenir au top dix
2020 photos espion Toyota Tundra incorporé transmission à 10 vitesses / puissance légèrement améliorée
Comment la fin de l'ingénieur problème de la fragmentation Android?
Comment empêcher les pirates d'utiliser secrètement votre ordinateur et l'exploitation minière mobile?
fondateur Skyworth Stephen Wong: époque Aiot Skyworth peut croire un autre miracle!
Seven Year Itch, Milan Jiujiang Boateng a rompu avec la femme modèle
« 2018 Pékin exemple » fraîchement sorti du four, de voir les gens autour de vous?
La crainte programmeur chaque ligne de code? Remplir chaque trou est!
ère Ghosn a fini Sheng Nader tout nouveau président de Renault Nissan: l'Alliance ajuster le bon moment