我辈喜学剑,十年居寒潭。一朝斩长蛟,碧水赤三月


Description:

有n层的楼,有两个强度相同的瓶子,设计一个办法来检测该种瓶子的可以承受的最高楼层。

如果,瓶子从第x楼扔下后不会碎,从第x+1层扔下来之后碎了,则其最高承受楼层为x。瓶子不碎的话可以捡起来继续扔。

方法1:

interview时临时想起的,脑子中冒出来了快慢指针的思想,于是想出来该种方法,思路是对的,但是不是最好的。  见多识广的重要性阿。

记瓶子的最高承受层为Max;

每隔两层扔一次,例如,第一个瓶子从1层扔,第二个瓶子从4层扔,有以下结果:

#第1瓶子碎了,则Max=1

#第1瓶子没碎,第2个瓶子碎了,则,Max=2或3,再扔一次检测这两层即可;

#第1瓶子没碎,第2个瓶子没碎,则,从第7层开始扔;

最差时间复杂度: n/4 *2 +1   --->o(n)

方法2:

先扔一个瓶子,从底层往上, 每隔 n^(1/2),扔一次,如果某次扔下后碎了,则开始用另一个瓶子来检测n^(1/2)个楼层即可。

举例:

n=100, n^(1/2)=10, 最坏情况是,先扔9次,10层,20层,... , 100层, 到100层时才碎,然后,用另一个瓶子检测91-99这几个楼层,即从第91层开始扔,最坏是扔到99层才碎。 则共扔了10+9次。

时间复杂度:

n / ( n^(1/2) ) + n^(1/2) -1 = 2 * n^(1/2)  - 1    ------->o(n^(1/2))

瓶子破碎的最高安全楼层相关推荐

  1. 玻璃破碎玻璃破碎机玻璃回收厂

    玻璃破碎玻璃破碎机玻璃回收厂 玻璃破碎机 提供玻璃破碎机出售,这也叫玻璃破碎机,我们还生产玻璃研磨厂的玻璃回收和玻璃制造的dustry.引进玻璃制造(矿物粉碎的玻璃等行业)和玻璃制品的回收处理的过程. ...

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

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

  3. 【算法】逻辑题算法题语言特性(集合贴1)

    为什么80%的码农都做不了架构师?>>>    BX网Email过来的安卓笔试题 1.商品摆放问题 在网上搜了下,最多的是基于Aprior算法的解决方案,还搜到论坛帖子,里面有人说这 ...

  4. 《脱颖而出——成功网店经营之道》一2.1 定位

    本节书摘来异步社区<脱颖而出--成功网店经营之道>一书中的第2章,第2.1节,作者: 何小健 责编: 赵轩, 更多章节内容可以访问云栖社区"异步社区"公众号查看. 2. ...

  5. T:玻璃瓶样品强度测试

    算法题目如下: 参考解答: a.采用分治策略. 将n 个横档分成n^1/2 组,每组n^1/2 个横档,第k 组为(k-1)n^1/2 +1 到 (k-1)n^1/2+n^1/2 的横档.从下到上检查 ...

  6. 100层楼2个鸡蛋,测试其最低破碎楼层问题

    原文章链接 http://www.cnblogs.com/yangai/p/5391533.html http://www.tuicool.com/articles/NzUNJr http://blo ...

  7. 面试算法03-高楼扔球求临界破碎楼层

    且看题: 有100层楼,已知从某层扔下玻璃球会碎,给你两个玻璃球,请用最优策略实验出临界的破碎楼层 注意题,是给出最优实验策略,我们可不能拿一个小球从一层开始扔,然后一层一层往上加,这样的话最坏的情况 ...

  8. 100层楼2个鸡蛋求最低破碎楼层与信息论

    100层楼2个鸡蛋求最低破碎楼层经典算法可以参考  http://blog.sina.com.cn/s/blog_6c813dbd0101bh98.html 这篇文档我们从更高的视角-信息论的角度去看 ...

  9. 2017年完美世界校招笔试题,从n层大楼往下扔m颗玻璃珠确定珠子破碎的临界楼层

    这道题可以搜索google扔玻璃珠笔试题以及腾讯2017的校招笔试也有一道这样的题,不同的是,以上的题中只是用了两颗玻璃珠,而这里是m颗玻璃珠: 不过,同样是扔珠子,所以思路都是一样,只不过变得更有普 ...

最新文章

  1. LeetCode Course Schedule II(拓扑排序)
  2. node.js微博案例第二讲
  3. 会计用计算机很快是,40个超实用电脑快捷键,老会计都在用!
  4. oracle服务器cpu 100,Oracle数据库服务器CPU一直100%怎么处理-sql优化方面
  5. 文献解读-物理信息深度学习(PINN)
  6. 4.2 NI-USRP驱动安装与检测
  7. logstash全量导入es
  8. 书籍折页是什么效果_书籍折页什么样 - 卡饭网
  9. 捋一捋dubbo配置
  10. 查看kafka的版本
  11. 计算机数据的发展阶段,计算机数据存储介质的发展阶段
  12. iOS为什么获取不到设备的DeviceToken
  13. 数据库安装时需要更新以前的Visual Studio 2010实例状态失败-----亲测可行
  14. 安装部署docker
  15. Grbl开源固件的官方介绍使用说明【翻译】
  16. JDK8新特性知识点总结
  17. Java项目:游戏点评系统(java+SSM+JSP+JavaScript+mysql)
  18. 如何屏蔽百度广告及百度热点
  19. python之 ffmpeg给mp4视频添加字幕
  20. Exchange Server 2016 RTM快速部署指南

热门文章

  1. Logistic Regression(1)
  2. indesign java_InDesign必杀技,分分钟秒出方案排版(附ID排版模板)
  3. 【互联网品读】京东,真的服了,东哥走火入魔了?全员绩效合同
  4. 微信小程序获取页面元素高度_微信小程序之动态获取元素宽高
  5. 二分查找算法(非递归)
  6. 331_S32K144 CAN FIFO初步
  7. HDLBits Bulid a circuit from a simulation wavefrom 系列
  8. 映客都是互刷礼物吗_一姐负气出走花椒,映客正在发生一场大规模主播内讧事件.........
  9. 工程师必须了解的IQ信号和调制知识
  10. phpexcel 读取数据