假设有n层楼,2个鸡蛋。问最少摔几次能够找出恰好把鸡蛋摔坏的楼层。 这是一个典型的 min(max) 问题。 解题思路 动态规划 第一种思路是,动态规划,这里状态有两个维度:可用鸡蛋个数,待检验楼层个数。 假设第一次从i层开始摔,如果碎了,还剩一个鸡蛋,只能从一层开始遍历,最坏需要i次;如果没碎,问 ...
转载 2021-09-01 21:56:00
236阅读
2评论
今天要聊一个很经典的算法问题,若干层楼,若干个鸡蛋,让你算出最少的尝试次数,找到鸡蛋恰好摔不碎的那层楼。国内大厂以及谷歌脸书面试都经常考察这道题,只不过他们觉得鸡蛋太浪费,改成杯子,破碗什么的。具体的问题等会再说,但是这道题的解法技巧很多,光动态规划就好几种效率不同的思路,最后还有一种极其高效数学解法。秉承咱们号一贯的作风,拒绝奇技淫巧,拒绝过于诡异的技巧,因为这些技巧无法举一反三,学了也不
上篇文章聊了高楼鸡蛋问题,讲了一种效率不是很高,但是较为容易理解的动态规划解法。后台很多读者问如何更高效地解决这个问题,今天就谈两种思路,来优化一下这个问题,分别是二分查找优化和重新定义状态转移。如果还不知道高楼鸡蛋问题的读者可以看下「经典动态规划:高楼鸡蛋」,那篇文章详解了题目的含义和基本的动态规划解题思路,请确保理解前文,因为今天的优化都是基于这个基本解法的。二分搜索的优化思路也许是我们
原创 2020-12-23 15:19:46
480阅读
今天要聊一个很经典的算法问题,若干层楼,若干个鸡蛋,让你算出最少的尝试次数,找到鸡蛋恰好摔不碎的那层楼。国内大厂以及谷歌脸书面试都经常考察这道题,只不过他们觉得鸡蛋太浪费,改成杯子,破碗什么的。具体的问题等会再说,但是这道题的解法技巧很多,光动态规划就好几种效率不同的思路,最后还有一种极其高效数学解法。秉承咱们号一贯的作风,拒绝奇技淫巧,拒绝过于诡异的技巧,因为这些技巧无法举一反三,学了不太
原创 2021-04-07 10:41:25
301阅读
点g 今天要聊一个很经典的算法问题,若干层楼,若干个鸡蛋,让你算出最少的尝试次数,找到鸡蛋恰好摔不碎...
转载 2022-09-22 09:36:00
23阅读
动态规划问题:高楼鸡蛋 力扣 887 题 难度:困难 思路分析: 题目是这样: 你面前有一栋从 1 到N共N层的楼,然后给你K个鸡蛋(K至少为 1)。现在确定这栋楼存在楼层0 <= F <= N,在这层楼将鸡蛋扔下去,鸡蛋恰好没摔碎(高于F的楼层都会碎,低于F的楼层都不会碎)。现在问你,最坏情况下 ...
转载 2021-07-16 12:07:00
239阅读
2评论
今天要聊一个很经典的算法问题,若干层楼,若干个鸡蛋,让你算出最少的尝试次数,找到鸡蛋恰好摔不碎的那层楼。国内大厂以及谷歌脸书面试都经常考察这道题,只不过他们觉得鸡蛋太浪费,改成杯子,破碗什么的。具体的问题等会再说,但是这道题的解法技巧很多,光动态规划就好几种效率不同的思路,最后还有一种极其高效数学解法。秉承咱们号一贯的作风,拒绝奇技淫巧,拒绝过于诡异的技巧,因为这些技巧无法举一反三,学了也不
原创 2020-12-23 15:18:01
570阅读
经典的动态规划问题,题设是这样的:如果你有2颗鸡蛋,和一栋36层高的楼,现在你想知道在哪一层楼之下,鸡蛋不会被摔碎,应该如何用最少的测试次数对于任何答案楼层都能够使问题得到解决。如果你从某一层楼扔下鸡蛋,它没有碎,则这个鸡蛋你可以继续用如果这个鸡蛋摔碎了,则你可以用来测试的鸡蛋减少一个所有鸡蛋的质量相同(都会在同一楼层以上摔碎)对于一个鸡蛋,如果其在楼层i扔下的时候摔碎了,对于任何不小于i的楼层,
转载 2024-01-16 16:04:54
50阅读
01PART鸡蛋实验有一栋100层的楼,和2个坚硬的鸡蛋,从楼上扔下鸡蛋鸡蛋会在大于某一层刚好开始碎,那最少几次能测出鸡蛋能承受的最大楼层呢?如果从第50层扔下鸡蛋没碎,第51层扔下碎了,那鸡蛋能承受的最大楼层就是50。注意:你手上只有2个鸡蛋,如果扔下碎了,就没法再使用了。 小明条件反射般作答,从1层开始往上测试,到第i层碎掉就有结果了。 小K说,这个方法确实可以测出来,但太慢了(当然暂不考
转载 2021-06-29 14:43:43
544阅读
文章目录题目描述题目分析(我的想法)题目再分析题目描述我有一箩筐的鸡蛋,我可以给你两个。我有一栋一百层的楼,我想让你站在第一百层,以最少的次数帮我测出来鸡蛋最多扔到哪一层不会碎。你放心,如果没碎,不用去捡,我直接补给你一个。事成之后,这张支票你随便填。_佰_拾_圆题目分析(我的想法)咋样,有什么想法吗?我说说我的想法,首先,第二个鸡蛋肯定一层一层啊(不是两层两层)。那第一个鸡蛋呢?我是这么想的啊,土是土了点,但我觉得很有效。1、肯定不能·一层一层2、如果两层两层,最.
原创 2022-03-15 14:07:49
4345阅读
问题描述一幢 n层的大楼,给你两个鸡蛋. 如果在第 i层扔下鸡蛋,鸡蛋不碎,那么从前 i-1 层鸡蛋都不碎.这k(k>1)只鸡蛋一模一样,不碎的话可以无数次. 已知鸡蛋在0层不会碎.提出一个策略, 要保证能测出鸡蛋恰好不会碎的楼层, 并使此策略在最坏情况下所次数最少.问题分析1)最坏情况下所次数最少,比较绕口。想表达的意思是,在不明确知道哪一层会碎的情况下,要找到一种策略,通过最少的试验次数,得到临界楼层(恰好不会碎的楼层)。不明确知道,就需要考虑最糟糕的情况,而且这种策略与其他
原创 2021-07-11 14:37:52
293阅读
也没管了。今天
转载 2017-06-28 20:13:00
246阅读
2评论
01PART鸡蛋实验有一栋100层的楼,和2个坚硬的鸡蛋,从楼上扔下鸡蛋鸡蛋会在大于某一层刚好开始碎,那最少几次能测出鸡蛋能承受的最大楼层呢?如果从第50层扔下鸡蛋没碎,第51层扔下碎了,那鸡蛋能承受的最大楼层就是50。注意:你手上只有2个鸡蛋,如果扔下碎了,就没法再使用了。小明条件反射般作答,从1层开始往上测试,到第i层碎掉就有结果了。小K说,这个方法确实可以测出来,但太慢了(当然暂不考虑下
转载 2021-05-03 15:16:43
940阅读
文章目录题目描述题目分析(我的想法)题目再分析题目描述我有一箩筐的鸡蛋,我可以给你两个。我有一栋一百层的楼,我想让你站在第一百层,以最少的次数帮我测出来鸡蛋最多扔到哪一层不会碎。你放心,如果没碎,不用去捡,我直接补给你一个。事成之后,这张支票你随便填。_佰_拾_圆题目分析(我的想法)咋样,有什么想法吗?我说说我的想法,首先,第二个鸡蛋肯定一层一层啊(不是两层两层)。那第一个鸡蛋呢?我是这么想的啊,土是土了点,但我觉得很有效。1、肯定不能·一层一层2、如果两层两层,最.
原创 2021-05-12 16:45:24
590阅读
# 经典动态规划问题:高楼鸡蛋今天要聊一个很经典的算法问题,若干层楼,若干个鸡蛋,让你算出最少的尝试次数,找到鸡蛋恰好摔不碎的那层楼。国内大厂以及谷歌脸书面试都经常考察这道题,只不过他们觉得鸡蛋太浪费,改成杯子,破碗什么的。具体的问题等会再说,但是这道题的解法技巧很多,光动态规划就好几种效率不同的思路,最后还有一种极其高效数学解法。秉承咱们号一贯的作风,拒绝奇技淫巧,拒绝过于诡异的技巧,因
章 聊了高楼鸡蛋问题,讲了一种效率不是很高,但是较为容易理解的动态规划解法。后台很多读者问如...
转载 2022-09-22 09:32:57
56阅读
我们在 上篇文章 聊了高楼鸡蛋问题,讲了一种效率不是很高,但是较为容易理解的动态规划解法。后台很多读者问如何更高效地解决这个问题,今天就谈两种思路,来优化一下这个问题,分别是二分查找优化和重新定义状态转移。如果还不知道高楼鸡蛋问题的读者可以看下 经典动态规划:高楼鸡蛋,那篇文章详解了题目的含义和基本的动态规划解题思路,请确保理解前文,因为今天的优化都是基于这个基本解法的。二分搜索的优化思路也
原创 2021-04-07 10:40:58
219阅读
```java package dp.superEggDrop; /** * 887. 鸡蛋掉落 * 给你 k 枚相同的鸡蛋,并可以使用一栋从第 1 层到第 n 层共有 n 层楼的建筑。 * <p> * 已知存在楼层 f ,满足 0 <= f <= n ,任何从 高于 f 的楼层落下的鸡蛋都会碎,从 f 楼层或比它低的楼层落下的鸡蛋都不会破。 * <p&gt
原创 2022-01-10 14:40:43
131阅读
[1,100]区间之内,将这个数字写在了一张纸上,然后B来猜。   如果B猜的数字偏小的话,A会提示:“数字偏小”A以后就再也不会提示了,只会回答“猜对 或 猜错”    问: 乙至少猜(13)多少次才可以准确猜出这个数字,在这种策略下,乙猜的第一个数字是(13)解析:B某次猜的偏大,A就不再提示,此次之后B猜的偏小A也不会再提
package dp.twoEggDrop; /*** * 1884. 鸡蛋掉落-两枚鸡蛋 * 给你 2 枚相同 的鸡蛋,和一栋从第 1 层到第 n 层共有 n 层楼的建筑。 * * 已知存在楼层 f ,满足 0 <= f <= n ,任何从 高于 f 的楼层落下的鸡蛋都 会碎 ,从 f 楼层或比它
原创 2022-01-13 10:11:10
62阅读
  • 1
  • 2
  • 3
  • 4
  • 5