两个玻璃球 测试极限高度

2018-04-19 11:18:10 浏览数 (1)

一道有趣的智力题目: 已知,玻璃球从某高楼落到地面会摔碎,楼的最大高度为100层,给你两个玻璃球,请你最快的测出,能使玻璃球摔碎的最低楼层...

两个玻璃球

思路1:蛮力法

如果用蛮力法, 从1楼,2楼,3楼,一层一层,抛球测试,肯定能测出最低楼层,但效率太低...

思路2: 二分法

用经典的二分法,第一个球可能在50层掉了坏掉,第二个球在25层坏掉,然后损失了所有的球,也没有得出最后的答案...

小启示:

我们使用显微镜的时候,会先使用低倍镜粗调让被观察的物体进入视野,然后使用高倍镜精细调整,让被观察的物体在视野内变清晰...

比较靠谱的做法:

我们可以把两个小球当做高倍镜和低倍镜, 先使用第一个小球(相当于低倍境),以每次10层的跨度,依次抛到地面,观察结果, 10层, 20层, 30层, 40层...., 如果在50层抛出的时候,第一颗小球摔破了,则说明玻璃球的极限高度在40层到50层之间, 再使用第二颗小球(相当于物镜), 从41层,42层,43层... ,依次抛出,如果第二颗小球在第43层摔破,则43层为小球摔破的极限高度!

据说google曾用上面的题目,作为面试题, 来考验面试者的工程思维!

0 人点赞