Les questions d'entrevue comme celle-ci sont conçues pour voir comment vous pensez. Donc, je mentionnerais probablement une solution O (N^0,5) comme ci-dessus, mais aussi je donnerais la discussion suivante ...
Puisque les noix de coco peuvent avoir une fissuration interne au fil du temps, les résultats peuvent ne pas être si cohérents avec un O (N^0,5) solution. Bien que la solution O (N^0,5) soit efficace, elle n'est pas entièrement fiable.
Je recommanderais une solution O (N) linéaire avec la première noix de coco, puis vérifier le résultat avec la deuxième noix de coco. Où N est le nombre d'étages dans le bâtiment. Donc, pour la première noix de coco, vous essayez le 1er étage, puis le 2ème, puis le 3ème, ...En supposant que les deux noix de coco sont structurellement identiques et tombent sur le même angle, vous pouvez lancer la deuxième noix de coco directement sur le sol que la première a cassé. Appelez ce plancher de noix de coco cassé B.
Pour la noix de coco n ° 2, vous n'avez pas besoin de tester sur 1..B-1 parce que vous savez déjà que la première noix de coco ne s'est pas cassée au sol B-1, B- 2, ... 1. Il vous suffit donc de l'essayer sur B.
Si la deuxième noix de coco se brise sur B, alors vous savez que B est le sol en question. Si elle ne casse pas, vous pouvez en déduire qu'il y a eu des fissures internes et une dégradation de la noix de coco au fil du temps et que le test est défectueux pour commencer. Vous avez besoin de plus de noix de coco. Étant donné que la taille des bâtiments est assez limitée, la confiance supplémentaire dans votre solution vaut la solution O (N). Comme l'a mentionné Rafał Dowgird, la solution dépend également de la question de savoir si le singe en question est un singe africain ou un singe européen. Il est de notoriété publique que les singes africains lancent avec une force beaucoup plus grande. De ce fait, le plancher de rupture B n'est précis qu'avec une variation de +/- 2 étages.
Afin de garantir que le singe ne se fatigue pas de tous ces escaliers, il serait également conseillé d'attacher une corde à la première noix de coco. De cette façon, vous n'avez pas besoin de faire 1 + 2 + .. + B = B * (B + 1)/2 volées d'escaliers pour la première noix de coco. Vous auriez juste besoin de faire exactement B volées d'escaliers.
Il peut sembler que le nombre de volées d'escaliers n'est pas pertinent pour ce problème, mais si le singe est fatigué en premier lieu, il se peut que nous n'arrivions jamais à trouver une solution. Cela donne de nouvelles considérations pour le halting problem. Nous supposons également que le bâtiment se trouve sur terre et que la gravité est fixée à 9,8 m/s^2. Nous supposerons également qu'aucune onde de gravitation n'existe.
+1 pour la discussion de la non-uniformité de la noix de coco. Je ne manquerais pas non plus la chance de craquer quelques blagues de Monthy Python ("singe africain ou européen?"). –
ajouté merci pour la grande suggestion –
merci pour l'explication .. aimé les détails .. non-uniformité de noix de coco, singe africain vs européen, chaîne de suspension et le problème d'arrêt .. grande réponse .. !! – abhilash