【算法】双蛋问题

双蛋问题

题目信息

来源于微软、谷歌面试题。
有一个大楼,有100层高。有一个鸡蛋,在低楼层往下扔,到地下都不会碎,在高楼层往下扔,鸡蛋会碎。碎了之后就无法再往下扔了。
在这里插入图片描述

你有N个鸡蛋可以做实验,最少扔多少次,能够找到临界楼层,楼层以上鸡蛋破碎,楼层以下鸡蛋不会碎。

分类讨论

  • 只有1个蛋,N=1,最少扔M次,能够确定出临界楼层?
    • 不可能一上来就从50层开始,因为一旦碎了,就只知道临界楼层位于1-50之间。
    • 先从第一层扔,如果没碎,就从第二层扔,否则临界楼层就是第一层。
    • 最差的情况下,要扔100次,即M=100。
  • 有无限多个蛋,N=∞此时要使用二分法。二分法是牛顿提出来的,最早是用来求解方程的根。
    在这里插入图片描述
    直到间隔小于1,就不用继续尝试了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值