腾讯大楼抛玻璃球问题
腾讯大楼抛玻璃球问题
问题
腾讯大厦有39层,你手里有两颗一抹一眼的玻璃珠。当你拿着玻璃珠在某一层往下扔的时候,一定会有两个结果,玻璃珠碎了或者没碎。大厦有个临界楼层。低于它的楼层,往下扔玻璃珠,玻璃珠不会碎,等于或高于它的楼层,扔下玻璃珠,玻璃珠一定会碎。玻璃珠碎了就不能再扔。现在让你设计一种方式,使得在该方式下,最坏的情况扔的次数比其他任何方式最坏的次数都少。也就是设计一种最有效的方式。
分析
咱们先不论腾讯大厦具体为多少层。假设大楼为 N
层,那么 F(N)
为 N
层大厦最坏情况的最小值。
先假设一下,在第 10 层进行了抛球:
- 碎了,那么寻找临界楼层,最坏情况下只需要从
1 - 9
逐一遍历,也就是 10 次。 - 没碎,那么寻找临界楼层,相当于转换为
F(N - 10) + 1
。其中 1 为本次。
也就是说,第 10 层的最坏情况为 max(10, F(N - 10) + 1)
。
那么 F(N) = min{ max(1, F(N - 1) + 1), max(2, F(N - 2) + 1), max(3, F(N - 3) + 1), …… , max(N - 1, F(1) + 1)}
有了以上这个状态转移方程,就可以采用动态规划将其实现。
实现
class Solution {public static void main(String[] args) throws IOException {int N = 0;Scanner scanner = new Scanner(System.in);while (N < 1) {N = scanner.nextInt();}int[] dp = new int[N + 1];dp[0] = 0;dp[1] = 1;for (int i = 2; i <= N; ++i) {int min = i;for (int j = 1; j < i; ++j) {int tmp = Math.max(j, dp[i - j] + 1);if (tmp < min) {min = tmp;}}dp[i] = min;}System.out.println(dp[N]);}
}
实验结果为:
当 N = 39 时,最多只需要抛 9 次。
当 N = 100 时,最多只需要抛 14 次。
腾讯大楼抛玻璃球问题相关推荐
- [益智]:从高楼抛玻璃球,用什么最优策略得到临界层?
题目描述 有一栋100层高的大楼,给你两个完全相同的玻璃球.假设从某一层开始,丢下玻璃球会摔碎.那么怎么利用手中的两个球,用什么最优策略知道这个临界的层是第几层??? 题目解答 方法一: 只用1个球就 ...
- 第四冠!腾讯AI「绝艺」斩获世界智能围棋公开赛冠军
导语:腾讯围棋AI「绝艺」世界大赛再夺金,三年四冠,砥砺前行! 中国围棋协会主办的2019「中信建投证券杯」世界智能围棋公开赛今天在山东日照落幕.由腾讯 AI Lab 研发.担任中国国家围棋队的训练专 ...
- 腾讯胡珀:数字时代,每个人的安全都值得被守护
导读:12月8日,在深圳举行的T-DAY2018腾讯用户开放日上,腾讯安全平台部应用运维安全中心总监兼Tencent Blade Team负责人胡珀亮相首场workshop,让用户在体验各种黑科技的同 ...
- 再三年!腾讯AI「绝艺」与中国国家围棋队续约
感谢阅读腾讯AI Lab微信号第94篇文章.本文将介绍「绝艺」与中国国家围棋队续约的情况. 腾讯AI Lab研发的围棋AI「绝艺」昨日与中国国家围棋队续约.在过去的两年里陪伴国手们横扫棋坛的世界顶级围 ...
- 摘录与评论·《致我们终将逝去的青春》
其实如果就上一篇,<青春是黄鹤>你说你没看爽,这只是因为,我总结出了博客观众的习惯,不喜长文,只能写在八百字就可以了结了,否则,长篇累牍,谁爱观看啊.因此拆分为两部分,上部分为<致我 ...
- 互联网“高薪榜”曝光,物联网将接棒?
"路透社报道,华为计划在今年提高员工内部股票股息,增幅为3%,总价值为数十亿美元.2017年,华为向员工发放的股息红利便高达168亿元,占公司净利润的35%,今年分红则再创新高." ...
- php开发实例大全pdf百度云盘_互联网大厂 主要使用哪些开发语言
1.百度 百度大楼 百度公司作为一家以搜索起家的互联网公司.曾经的互联网老大,曾几何时也是市值第一.现在很多时候被调侃成为其他公司的市值计量单位.平心而论作为一名程序员去看,百度技术还是行业第一梯队. ...
- 专访《王者荣耀》团队 附天美L1工作室照片
<王者荣耀>的注册用户已超过2亿,前段时间又荣登全球手游综合收入榜冠军,堪称全球最火游戏.近日,成都商报记者来到坐落于四川成都天府三街上的天美L1工作室,分管<王者荣耀>技术. ...
- 2020年最新一二三线互联网公司出炉,附校招和社招薪资行情
一线互联网公司:阿里,腾讯 阿里巴巴 阿里巴巴作为最出名的互联网大厂,其生态大到你想象不到,集团在马爸爸功成身退后,由逍遥子带领,不断开疆拓土,疫情期间,阿里云在王坚博士的带领下市值也冲出天际,归属阿 ...
最新文章
- ASP.NET结合COM组件发送Email
- 奇偶个数_只愿与一人十指紧扣_新浪博客
- linux 更新yum源 改成阿里云源
- hello.cpp 第一个C++程序(本博客没有特指都是以QT测试)
- C#趣味程序---车牌号判断
- anroid 内存溢出 Bitmap OutOfMemoryError
- python的递归算法学习(1)
- [Unity] GameFramework 学习记录 4:第三人称控制器
- 如何设置计算机网共享文件夹,局域网内如何设置共享文件夹呢
- CentOS GRUB引导错误无法进入系统解决办法
- 立即更新 Chrome 浏览器!这个 0day 已遭在野利用
- 安装SQL Server 2012遇到“需要更新的以前的Visual Studio 2010实例.”
- 计算机硬件各组成部分的工作原理,计算机硬件组成及工作原理
- 计算机中丢失xvidcore.dll,win7系统提示“xvidcore.dll not found”的解决方法
- WPS如何按单元格背景颜色求和
- 报纸样式网页html css,报纸杂志HTML模板
- jbox ajax,JBox演示30种不同的调用方法
- oracle 判断数字是否连续,oracle中 如何 判断 表中字段是否为 连续的数字,例如‘3333333333',‘44444444’...
- win10重置失败,重装系统踩坑
- Can‘t read file : End of file found 文件:txn_current、current svn无法正常读取文件
热门文章
- 设计模式(二十二)—— 策略模式(定义、案例分析、特点、缺点)
- 大学,我是怎么边学编程边赚钱的?
- [BZOJ3786]星系探索
- 计算机网络(四)—— 网络层(3):IPv4地址
- 中国痤疮药品市场现状研究分析与发展前景预测报告(2022)
- 杨大川:未来BI重点回归客户端
- 俄罗斯国家黑客组织 Gamaredon的成员身份和录音曝光(附视频)
- 解决Unity3D中“There is no 'Renderer' attached to the game object”问题
- detour(detoured)
- vSAN 6.6十大特性的文档和视频