题目:

某幢大楼有100层。你手里有两颗一模一样的玻璃珠。当你拿着玻璃珠在某一层往下扔的时候,一定会有两个结果,玻璃珠碎了或者没碎。这幢大楼有个临界楼层。低于它的楼层,往下扔玻璃珠,玻璃珠不会碎,等于或高于它的楼层,扔下玻璃珠,玻璃珠一定会碎。玻璃珠碎了就不能再扔。现在让你设计一种方式,使得在该方式下,最坏的情况扔的次数比其他任何方式最坏的次数都少。也就是设计一种最有效的方式。

假设第一次从第n层扔,如果碎了,那么另一个玻璃珠就要从第一层逐层向上扔,如果没碎,你手上还是2颗,就转换成了100-n层的问题...

很容易就写出递推关系:

a(n)为一共n层楼,需要扔的次数.

a(n) = min{ max{1, 1+a(n-1)}, max{2,1+a(n-2)}, ..., max{n-1, 1+a(1)}}

a(1)有点争议,0还是1呢?

这样分析,代码很容易就能写出

a = 1;
for i = 2:100a = [a, min(max([a+1;i-1:-1:1]))];
end

得到a如下:

a =Columns 1 through 171     2     2     3     3     3     4     4     4     4     5     5     5     5     5     6     6Columns 18 through 346     6     6     6     7     7     7     7     

Google面试题:扔玻璃珠Matlab实现相关推荐

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

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

  2. 扔玻璃球 [ Google面试题 ]

    这是一道 Google 面试题,考察的是对于 粗调 和 精调 工程思维 对于扔玻璃球国内也叫扔鸡蛋. ta不用您有什么基础,只需要一个基本工程思维. 粗调和精调,这个已是统计学里最优法,所以不用担心复 ...

  3. Google 面试题和详解

    Google的面试题在刁钻古怪方面相当出名,甚至已经有些被神化的味道.这个话题已经探讨过很多次,而科技博客 BusinessInsider这两天先是贴出15道Google面试题并一一给出了答案,其中不 ...

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

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

  5. 2个鸡蛋100层楼/2个玻璃珠39层楼

    题目描述: 你拿着两个鸡蛋站在100层的大楼上.鸡蛋或许结实到从楼定掉下也不会摔碎,或许很易碎.最少试验多少次可以找出鸡蛋被摔碎的最低楼层? 腾讯2017笔试题也有类似的题目,描述是针对2个玻璃珠和3 ...

  6. 【Google面试题】有四个线程1、2、3、4同步写入数据…C++11实现

    Google面试题 有四个线程1.2.3.4.线程1的功能就是输出1,线程2的功能就是输出2,以此类推-现在有四个文件ABCD.初始都为空.现要让四个文件呈如下格式: A:1 2 3 4 1 2- B ...

  7. 谷歌公司经典面试题扔鸡蛋的详细解读(一)

    文章目录 题目:扔鸡蛋问题 方法一: 方法二: 方法三: 方法三进阶:假设法 总结: 首先说一下大概的题目 题目:扔鸡蛋问题 有2个鸡蛋,从100层楼上往下扔,以此来测试鸡蛋的硬度.比如鸡蛋在第9层没 ...

  8. Google面试题:找几百亿数据的中值

    Google面试题:找几百亿数据的中值 http://blog.csdn.net/jiyanfeng1/article/details/8088237 有几百亿的整数,分布的存储到几百台通过网络连接的 ...

  9. google面试题,生男生女比例?

    Google面试题: 在一个重男轻女的国家里,每个家庭都想生男孩,如果他们生的孩子是女孩,就再生一个,直到生下的是男孩为止,这样的国家,男女比例会是多少? 答案:1:1 分析:  出生男女概率是50% ...

最新文章

  1. argument在python里什么意思_python add_argument() 的使用方法
  2. 开发linux显卡驱动,显卡驱动开发DRM入门--Apple的学习笔记
  3. 数据中心智能安防新突破:腾讯觅踪亮相DCD
  4. 获取远程计算机动态ip,c# - 获取远程主机的IP地址
  5. Shell脚本实现每个工作日定时执行指定程序
  6. 第二章 面向对象的编程风格
  7. Android 应用开发(8)---语言和语言区域
  8. Dubbo自定义日志拦截器 1
  9. 【多线程系列】之生产者消费者问题
  10. Linux cc 和 gcc 的区别概括介绍
  11. mapgis矢量化怎么打分数_mapgis矢量化错了如何后退一步
  12. 国内各大安卓市场有ASO优化吗?安卓应用市场aso优化
  13. 网站备案 应该找域名商还是空间商备案
  14. 凯撒移位密码python_凯撒密码python拓展程序
  15. 将前端网页生成二维码
  16. [计算机网络] 拥塞控制
  17. HTML5视频标签 video 的 poster 属性
  18. 北京华为HCIE网络工程师快速完成设备流量控制和风暴控制-ielab网络实验室
  19. ping网址www.baidu.com等返回127.0.0.1
  20. linux用户名不在sudoers,Ubuntu 用户名 不在 sudoers文件中,此事将被报告。

热门文章

  1. 微信公众 php代码,微信公众号开发之文本消息自动回复php代码_php实例
  2. 计世网:IT人员秘密思考的十件事情
  3. Windows如何备份电脑文件(Windows10为例)
  4. 计算机系统与网络安全:理论课程内容
  5. 32 位 Win7 用 4G 内存破解加去水印全攻略
  6. Windows Embedded POSready2009
  7. 锐捷ac怎么发现局域网ap_【无线】无线瘦AP配置如何进行AC直连AP配置
  8. 日记侠:告诉你一个借助朋友圈吸粉裂变的套路
  9. python怎么爬取电影海报_Python 爬虫“王者”:豆瓣海报爬取
  10. 440 亿美元成交!Twitter “卖身”马斯克