有一栋100层高的大楼,给你两个完全相同的玻璃球。假设从某一层开始,丢下玻璃球会摔碎。那么怎么利用手中的两个球,用什么最优策略知道这个临界的层是第几层???

投掷次数分布不均。按最坏情况估计,这种方法就多做了几次。为了使最坏情况的投掷数最小,我们希望无论临界段在哪里,总的投掷数都不变,也就是说投掷数均匀分布。

接下来的解决方案就很容易想出了:

既然第一步(确定临界段)的投掷数增加不可避免,我们就让第二步(确定临界层)的投掷数随着第一步的次数增加而减少。

第一步的投掷数是一次一次增加的,那就让第二步的投掷数一次一次减少。

假设第一次投掷的层数是f,转化成数学模型,就是要求f+(f-1)+…+2+1>=99,即f(f+1)/2>=99(第一次测试点选择100层是无意义的,必然会碎,所以无任何测试价值,所以第一次测试点k是1-99中的一个数),解出结果等于14。

丢下第一颗鸡蛋的楼层就分别是 14 , 27 , 39 , 50 , 60 , 69 , 77 ,84 , 90 , 95 , 99 。

最坏用14次得到结果,分段依据也是14,逐渐把区间变短。

100层楼和两个玻璃球相关推荐

  1. 100层楼和两个玻璃球思路解析

    有一栋100层高的大楼,给你两个完全相同的玻璃球.假设从某一层开始,丢下玻璃球会摔碎.那么怎么利用手中的两个球,用什么最优策略知道这个临界的层是第几层???       投掷次数分布不均.按最坏情况估 ...

  2. 100楼层和两个玻璃球

    有一栋100层高的大楼,给你两个完全相同的玻璃球.假设从某一层开始,丢下玻璃球会摔碎.那么怎么利用手中的两个球,用什么最优策略知道这个临界的层是第几层??? 2012年腾讯实习生笔试的时候,有一个智力 ...

  3. 对100层楼两个玻璃球测试问题的理解

    问题:有一座100层高的大楼和两个玻璃球(小球A和小球B),现在我们要通过在楼上扔玻璃球的方式来测试玻璃球的坚硬程度,已知从这座楼的某一层开始,往下扔玻璃球,玻璃球会碎,问最少需要多少次尝试,才能找到 ...

  4. 两个玻璃球和100层楼的问题

    (http://hi.baidu.com/ajdo/blog/item/f0c292ed8cf6b05d78f055ba.html) 给你两个玻璃球,有一座100层的大厦,用最少的实验次数找出临界层, ...

  5. 关于100层楼,扔两个鸡蛋,求摔碎鸡蛋的临界层的问题

    题目描述: 两个软硬程度一样但未知的鸡蛋,它们有可能都在一楼就摔碎,也可能从一百层楼摔下来没事.有座100层的建筑,要你用这两个鸡蛋确定哪一层是鸡蛋可以安全落下的最高位置.可以摔碎两个鸡蛋. 网上有人 ...

  6. C语言丢鸡蛋100层,关于100层楼,扔两个鸡蛋,求摔碎鸡蛋的临界层的问题

    题目描述: 两个软硬程度一样但未知的鸡蛋,它们有可能都在一楼就摔碎,也可能从一百层楼摔下来没事.有座100层的建筑,要你用这两个鸡蛋确定哪一层是鸡蛋可以安全落下的最高位置.可以摔碎两个鸡蛋. 网上有人 ...

  7. Google面试题之100层仍两个棋子

    一道Google面试题,题目如下:"有一个100层高的大厦,你手中有两个相同的玻璃围棋子.从这个大厦的某一层扔下围棋子就会碎,用你手中的这两个玻璃围棋子,找出一个最优的策略,来得知那个临界层 ...

  8. 数形结合彻底解决2个球100层楼摔坏的问题 .

    题目:有一栋100层高楼,从某一层开始扔下的玻璃球刚好摔坏,现有两个玻璃球,试用最简便的方法确定这个恰好摔坏玻璃球的那层. 这是一道著名的面试题目,仅写出我的思路和解法. 首先从题目得出基本思路 1. ...

  9. 数形结合彻底解决2个球100层楼摔坏的问题

    题目:有一栋100层高楼,从某一层开始扔下的玻璃球刚好摔坏,现有两个玻璃球,试用最简便的方法确定这个恰好摔坏玻璃球的那层. 这是一道著名的面试题目,仅写出我的思路和解法. 首先从题目得出基本思路 1. ...

最新文章

  1. Python的WeRoBot框架开发公众号
  2. 判断页面元素存在与否
  3. linux发送email错误 501 Syntax: HELO hostname
  4. 关于线程执行顺序的问题
  5. 大理,风花雪月俏丽金花
  6. jsp中通过多种方式实现面包屑导航
  7. mysql now str,数据库学习之MySQL (十)—— 日期和时间函数 NOW STR_TO_DATE DATE_FORMAT 流程控制函数 IF IFNULL CASE...
  8. java 开源so库_NDK使用之引用.so开源库
  9. 32位存储环境下整数范围为什么是[-2^31,2^31-1]?
  10. 服务器账号永不过期,linux下如何设置用户密码永不过期_网站服务器运行维护
  11. php抽奖的数字滚动器,JS数字抽奖游戏实现方法
  12. STC12LE5612AD芯片使用心得(五)定时器
  13. 【数字图像处理】Anaconda下安装OpenCV
  14. 黑马面面移动端布局(flex + rem + less)
  15. schedule for addition
  16. GDAL C++ API 学习之路 (1)Driver篇 代码示例 翻译 自学
  17. 魔蝎座提供伤感QQ日志_一转身可能就是一世
  18. simulink中MUX
  19. 长沙有哪些比较有名的互联网公司?
  20. 云服务器上传文件大小限制吗,云服务器上传文件大小

热门文章

  1. 大族协助机器人仿真HansRobot 第一讲:软件安装及启动
  2. 有关于Mem函数的实用总结
  3. Realtek网卡插网线不亮灯解决方案
  4. 区块链软件开发的搭建环境
  5. A2-RL: Aesthetics Aware Reinforcement Learning for Image Cropping Debang
  6. Web安全之SSRF漏洞
  7. linux桌面版拨号连接,linux中的pppoe拨号上网
  8. 凝胶渗透色谱的测试原理
  9. linux之基础shell脚本编程1 基础变量赋值
  10. c语言矩阵作用,C语言矩阵的运算