面试题:检测杯子的质量

一道关于检测玻璃杯在100层楼中哪一层会破碎的面试题,通过二分法、分段查找、解方程和动态规划等方法,探讨如何使用两个杯子在最少的尝试次数内找出答案。解题过程涉及优化策略和算法思想。
摘要由CSDN通过智能技术生成

分享一道最近刷到的面试题:

有一种玻璃杯质量确定但未知,需要检测。   
有一栋100层的大楼,该种玻璃杯从某一层楼扔下,刚好会碎。   
现给你两个杯子,问怎样检测出这个杯子的质量,即找到在哪一层楼刚好会碎?

题解目录

方案一:二分法

方案二:分段查找

方案三:解方程

方案四:动态规划推广


看到这道题的时候我自然地想,从一楼开始扔起...这还不简单?然而之前面试挂掉的经验让我知道,这时候面试官一定会问:

面试官的微笑.jpg

“你再多想想?有没有更快的方法?”


首先要分析一下题目,和面试官争取一波思考的时间:

1、两个杯子质量一样;

2、如果杯子在第N楼扔下去没有碎,那在小于N楼扔下去也不会碎;

3、如果杯子在第N楼扔下去碎了,那就得往小于N楼继续检验(但杯子只有两个);

4、如果杯子扔下去没碎,还能反复利用。

总的来说就是,通过有限的两个杯子,快速找到在第N-1楼扔下去不碎而第N楼扔下去会碎的这个楼层N。

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值