转载自:程序员小灰

方法一:二分法

先从50

再从25或75……

方法二:平方根法

方法三:解方程法(最优解)

假设这个问题存在最优解,这个最优解的最坏尝试次数是X次。那么我们第一次扔鸡蛋应该考虑哪一层?

那么 如果鸡蛋没有摔碎,我们的尝试次数消耗了一次,而下一次仍鸡蛋的地方就变成了x+x-1层。 因为问题变成了  从100-x层往下扔,要求次数不超过x-1层。

同理: 下一次

需要使用动态规划的思想。

如何找到状态转移方程:

通过上述方程我们知道了X次数与X层的关系。

那么,此方程如何求解?

根据DP规则,我们采用自底向上的方式求解方程,如3个鸡蛋4层楼

而对于两个鸡蛋两层楼:

接下来两个鸡蛋三层楼:

最终得到

这里可以做一些优化 将空间复杂度优化到o(m)

优化代码如下:

扔鸡蛋问题(四种解法)相关推荐

  1. 四种解法——求子序列的最大连续子序和(普通解法、求和解法、分治法、O(n)级解法)(面试经典题)

    励志用少的代码做高效表达 在这四种解法里,解法一是通法,可以学到规律和知识,做基础之用:解法二在解法一的基础上做改进,锻炼思维:解法三则是大名鼎鼎的分治法,涉及到递归的知识,算是"高效算法设 ...

  2. 算法-寻找数组中的重复值,四种解法

    算法-寻找数组中的重复值 寻找数组中的重复值 寻找数组中的重复值 题目来源于:Leetcode-287.本题归类到简单我无法理解-要满足四个条件需要用很特定的解法,面试中要是用到的话很可能是在给自己挖 ...

  3. python整数拆分dp算法_整数拆分问题的四种解法【转载】

    http://blog.csdn.net/u011889952/article/details/44813593 整数拆分问题的四种解法 原创 2015年04月01日 21:17:09 整数划分问题是 ...

  4. 奖券数目c语言答案,2015 年蓝桥杯 C 语言 B 组省赛第 1 题: 奖券数目 (四种解法 + 详细分析)...

    题目 奖券数目 有些人很迷信数字,比如带"4"的数字,认为和"死"谐音,就觉得不吉利. 虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求.某抽奖活动的奖券号码 ...

  5. 【剑指Offer】剪绳子问题——四种解法

    剪绳子问题--四种解法 题目描述: 输入描述: 返回值描述: 示例1: 解题思路: 方法1:暴力递归 方法2:记忆化递归 方法三:动态规划 方法四,数学原理 题目描述: 给你一根长度为n的绳子,请把绳 ...

  6. 销售额超过公司均值的优秀经销商?SQL比例问题之分组比较的四种解法

    分组比较是看起来比较简单,但是写起来比较麻烦的问题,一般就是先进行两个不同分组计数.求和.求均值,然后两个均值作比较,这样就涉及表连接和判断,写的代码量就比其他问题多很多.它与连续问题.排名问题和累加 ...

  7. 八皇后问题详解(四种解法)

    所有源码都在github上(https://github.com/seasonyao/eight_queen_question) 如果你去百度百科八皇后这个问题,你会发现人家也是历史上有头有脸的一个问 ...

  8. 最长公共子序列长度的四种解法

    一.题目:求两个字符序列的最长公共字符子序列.给定两个字符串,求解这两个字符串的最长公共子序列(Longest Common Sequence).比如字符串1:BDCABA:字符串2:ABCBDAB, ...

  9. 青蛙跳台阶c语言递归函数,青蛙跳台阶问题的四种解法

    http://raychase.iteye.com/blog/1337359 题目:一只青蛙一次可以跳1级台阶,也可以跳2级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 这道题还被ITEye放在了博 ...

最新文章

  1. oracle 孟硕_关于几大主机厂的阿里云论坛用户知识和技术交流
  2. 关于R语言的一些编程经验
  3. apache mail发送邮件附件中文乱码
  4. EF里的默认映射以及如何使用Data Annotations和Fluent API配置数据库的映射
  5. Zookeeper源码分析(二) ----- zookeeper日志
  6. go 并发安全map 分段锁实现
  7. 为托管应用程序添加DPI Aware支持
  8. unity案例 mysql lua_通过Xlua实现unity热更新的一个小例子
  9. 四面体的表面积_边长为正四面体的表面积是()、;、;、;、。
  10. .NET 6 Preview 4 已发布,这些新功能值得关注!
  11. ccd视觉定位教程_CCD与CMOS哪个更能推动工业相机市场的发展
  12. c语言让参数等于空字符串,C语言模拟实现字符串操作函数
  13. Andrew Ng机器学习课程17(1)
  14. 如何卸载AutoCAD 2019,彻底卸载MAC版CAD教程
  15. 公司、办公司内如何限制上外网因特网、只能连内网局域网 - 注册表工具软件、批处理办法 - 注册表转换成批处理BAT,批处理如何修改注册表
  16. NPM => npm登录-发包-删包-整体流程
  17. python支持wps_python启动办公软件进程(word、excel、ppt、以及wps的et、wps、wpp)
  18. 涂鸦画板,监听touch事件,手机端
  19. 动态规划----最长子序列
  20. 轻松解决yum源不能正常下载的四种方式

热门文章

  1. 网易数据治理工具产品实践
  2. python convert函数_Python pandas.DataFrame.tz_convert函数方法的使用
  3. 写作小课堂:如何写好工作邮件?
  4. 计算机 自考 学分制,学分制自考政策是什么
  5. 碗碗腔《杨贵妃》、青春版秦腔《杨门女将》在上海舞台上演
  6. 悟空CRM 12 java安装搭建 72crm-uniapp移动端
  7. 关于Symantec(赛门铁克)认证服务
  8. Star CCM+ 案例 - 旋风分离器 (cyclone separator)-3 模拟设置
  9. 公司常用云服务器详解:企业2核4G、4核8G、8核16G配置介绍
  10. Redis pool 配置详解