分享一道最近刷到的面试题:
有一种玻璃杯质量确定但未知,需要检测。
有一栋100层的大楼,该种玻璃杯从某一层楼扔下,刚好会碎。
现给你两个杯子,问怎样检测出这个杯子的质量,即找到在哪一层楼刚好会碎?
题解目录
看到这道题的时候我自然地想,从一楼开始扔起...这还不简单?然而之前面试挂掉的经验让我知道,这时候面试官一定会问:
“你再多想想?有没有更快的方法?”
首先要分析一下题目,和面试官争取一波思考的时间:
1、两个杯子质量一样;
2、如果杯子在第N楼扔下去没有碎,那在小于N楼扔下去也不会碎;
3、如果杯子在第N楼扔下去碎了,那就得往小于N楼继续检验(但杯子只有两个);
4、如果杯子扔下去没碎,还能反复利用。
总的来说就是,通过有限的两个杯子,快速找到在第N-1楼扔下去不碎而第N楼扔下去会碎的这个楼层N。