首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

两个鸡蛋问题混乱

是一个经典的数学问题,也被称为鸡蛋掉落问题。该问题的目标是确定在给定的楼层高度中,最少需要尝试多少次,才能确定鸡蛋从哪一层楼开始会摔碎。

解决这个问题的方法有很多,其中一种常用的方法是二分法。具体步骤如下:

  1. 首先,确定一个初始的楼层高度,可以选择楼层数的一半作为初始值。
  2. 将一个鸡蛋从该楼层扔下,如果鸡蛋摔碎了,说明摔碎点在该楼层或更低的楼层,将问题转化为在较低的楼层中寻找。
  3. 如果鸡蛋没有摔碎,说明摔碎点在该楼层以上的楼层,将问题转化为在较高的楼层中寻找。
  4. 重复以上步骤,不断缩小搜索范围,直到找到鸡蛋摔碎的楼层。

这种方法的优势在于最坏情况下的尝试次数较少,可以快速找到鸡蛋摔碎的楼层。应用场景包括建筑工程、物理实验等需要确定材料强度或者摔落高度的领域。

腾讯云相关产品中,可以使用云服务器(CVM)来模拟楼层高度,通过编写代码来实现鸡蛋的摔落过程。云服务器提供了稳定可靠的计算资源,可以满足各种计算需求。您可以通过以下链接了解更多关于腾讯云云服务器的信息:https://cloud.tencent.com/product/cvm

此外,腾讯云还提供了丰富的云计算产品和服务,包括云数据库(TencentDB)、云存储(COS)、人工智能(AI)、物联网(IoT)、区块链(Blockchain)等。您可以根据具体需求选择相应的产品和服务,以满足您的业务需求。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

动态规划解决鸡蛋掉落问题

问题描述 给定一定楼层数的建筑物和一定数量的鸡蛋,求出可以找出门槛楼层的最少鸡蛋掉落实验的次数,约束条件是:幸存的鸡蛋可以重复使用,破碎的鸡蛋不能再次使用,如果鸡蛋从此层掉落会碎,那么从更高的楼层掉落也会碎...表2 蛮力法 固定鸡蛋数 结果分析 由结果可知,纯递归的暴力枚举的执行效率比较差,速度非常慢,由于没有将每个子问题的解记录下来,每次都需要重新计算子问题的解,重复计算大大增加,加上递归调用函数的开销也很大...③递归改递推 我们先前两个策略都是采用递归调用函数实现的,反复递归调用函数的开销很大,因此我们在备忘录的基础上将递归调用函数改为循环内递推,时间复杂度和空间复杂度和备忘录相比没有变化,但理论上递推执行起来会更快...我们通过求解子问题Time[egg-1][high-1](鸡蛋破碎的情况,可用的鸡蛋个数减一,楼层数减一)和子问题Time[egg][height-high](鸡蛋没碎的情况,楼层数减少),我们要求二者的较小值...⑤逆向思维 我们可以将问题反过来想,对于给定time次尝试,egg个鸡蛋,我们可以测出多少层。

23221

漫画:有趣的扔鸡蛋问题

————— 第二天 ————— 题目:扔鸡蛋问题 有2个鸡蛋,从100层楼上往下扔,以此来测试鸡蛋的硬度。...比如鸡蛋在第9层没有摔碎,在第10层摔碎了,那么鸡蛋不会摔碎的临界点就是9层。 问:如何用最少的尝试次数,测试出鸡蛋不会摔碎的临界点? 举个栗子,最笨的测试方法是什么样呢?...方法一:二分法 采用类似于二分查找的方法,把鸡蛋从一半楼层(50层)往下扔。 如果第一枚鸡蛋在50层碎了,第二枚鸡蛋就从第1层开始扔,一层一层增长,一直扔到第49层。...假设第一次扔在第x-1层: 如果第一个鸡蛋碎了,那么第二个鸡蛋只能从第1层开始一层一层扔,一直扔到第x-2层。...几点补充: 1.下一期小灰将会讲解如何利用动态规划求出扔鸡蛋问题的通解,不太了解动态规划的小伙伴可以看看小灰之前的漫画预习下: 漫画:什么是动态规划?

29910
  • 再谈大楼扔鸡蛋问题

    这道题是说,100 层楼,两个一模一样的鸡蛋,某层之上扔鸡蛋就会碎。问要测试多少次才能找出这层楼来。我曾经在去年初的这篇文章里面讨论过这个问题的解法,因为只想记录一下思路和讨论过程,写得很简略。...现在只有两个鸡蛋,而算法必须在各种合法输入下都是可行的,就是说要能找出这一层来,你得假设你的运气最差,这就意味着,我求解的是在每种扔鸡蛋的策略下都有一个需要扔的次数的最大值,而现在需要求解的是这些最大值中的最小值的问题...动态规划法求解 现在,我有两枚鸡蛋,第一枚鸡蛋从哪一层楼开始扔就显得至关重要了。如果第一枚鸡蛋碎了,那就回到刚说的只有一枚鸡蛋问题了。...” 到 “m 个鸡蛋” 现在把问题扩展一下,由两个鸡蛋扩展到 m 个鸡蛋,times 数组第一维表示最多可以扔几次,第二维表示扔第几次: public static int dropEgg(int N...int m) { int sum = dp(N - x, m) + 1; if (x < sum) return sum; else return x; } 寻找规律 还是回到两个鸡蛋

    25520

    经典面试问题-丢鸡蛋

    2.1 鸡蛋个数无限制 我们先讨论鸡蛋个数无限制的情况。当可以无数次丢掷鸡蛋来寻找正确层数时,这个问题就可以简化为一个查找问题。...2.2 鸡蛋个数有限制 当然,更多的情况还是鸡蛋个数有限制,最常见的有2个鸡蛋和3个鸡蛋。在这种情况下,鸡蛋一旦摔碎意味着少了一次测试机会,因此需要解决的问题比无限制的情况更多。...均值求解法 上面的比例划分方法其实是将"确定区间"和"寻找确切层数"两个动作分开来求平均次数的,但实际上我们要求的是无论鸡蛋在哪一层正好摔碎,都应该有相近的测试次数。...3个或者更多个鸡蛋 其实当这道题回归到多个鸡蛋求解时,就可以发现这其实是一道常见的动态规划题目了。 按照动态规划的步骤,首先我们要找出该问题的子问题是什么。...原始问题是求M层楼x个鸡蛋,最坏需要投掷多少次才能检测出鸡蛋正好摔碎的楼层。当丢出一个鸡蛋之后,问题就减小为M-n层楼,用x/x-1个鸡蛋最坏需要多少次,这里的n是我们的划分区域大小。

    36630

    大楼扔鸡蛋问题的求解

    有道经典的算法题,两个一模一样的鸡蛋,某层之上扔鸡蛋就会碎。假如运气最差的话,问要测试多少次才能找出这层楼来。 如果只有一个鸡蛋,我就只能一层一层试验。...两个的话关键就是找着第一个鸡蛋试验的位置,第二个鸡蛋还是只能一层一层试验。 这道问题其实可以扩展到任意个鸡蛋,但现在还是只看 2 个鸡蛋的情况。...2 个鸡蛋只有 n 层的最优解求出来假使为 k,那么,n+1 层的时候,把第一个鸡蛋在第 k 层释放,只有两种情况(n+1 只是分解成两个<=n 的子问题,这两个都是已经有解了的): (1)破碎,于是只有之后就只能遍历从地面到第...k-1 层,一层层遍历,不能偷懒,最坏的情况在此要尝试 k 次; (2)没碎,那问题不就变成了要在 n-k 层里面求解的子问题了吗?...我本以为问题就差不多可以结了,赶紧去写代码吧,可是小罗同学叫住我了: 表急,好像有更简单的解法: 找一个 k  k(k+1)/2>=100,k 可取的最小整数值就是最优解  这个好像是猜出来的,得证明一下

    21210

    《丢鸡蛋问题》重制版来袭~

    你知道存在楼层 F ,满足 0 <= F <= N 任何从高于 F 的楼层落下的鸡蛋都会碎,从 F 楼层或比它低的楼层落下的鸡蛋都不会破。...时间一个小时,一共三道题,分别是本题,合并 k 个链表,以及种花问题。 这道题我在很早的时候做过,也写了题解[2]。现在看来,思路没有讲清楚。没有讲当时的思考过程还原出来,导致大家看的不太明白。...应该是这样的) 而每一次选择从第几层楼扔之后,剩下的问题似乎是一个规模变小的同样问题。嗯哼?递归? 为了方便描述,我将 f(i, j) 表示有 i 个鸡蛋, j 层楼,在最坏情况下,最少的次数。...❞ 我们这样来思考这个问题。既然题目要求最少的扔的次数,假设有一个函数 f(k, i),他的功能是求出 k 个鸡蛋,扔 i 次所能检测的最高楼层。...对于动态规划问题,往往有不止一种状态转移方程,而不同的状态转移方程往往性能是不同的。

    86710

    漫画:动态规划解决扔鸡蛋问题

    在上一篇漫画中,小灰介绍了一道有趣的智力题: 漫画:有趣的扔鸡蛋问题 那么,如何利用动态规划来求出扔鸡蛋问题的通解? 换句话说,有M层楼 / N个鸡蛋,要找到鸡蛋摔不碎的临界点,需要尝试几次?...动态规划的大致思路是把一个复杂的问题转化成一个分阶段逐步递推的过程,从简单的初始状态一步一步递推,最终得到复杂问题的最优解。...在上一篇漫画中,两个鸡蛋100层楼的条件下,我们找到了一个规律: 假设存在最优解,在最坏情况下尝试次数是 X,那么第一个鸡蛋首次扔出的楼层也是 X 。 这个规律在三个以上鸡蛋的条件上还能否适用呢?...让我们来举个栗子: 假设有三个鸡蛋,100层楼,第一个鸡蛋扔在第10层并摔碎了。这时候我们还剩下两个鸡蛋,因此第二个鸡蛋不必从底向上一层一层扔,而是可以选择在第5层扔。...我们可以把M层楼 / N个鸡蛋问题转化成一个函数 F(M,N),其中楼层数M和鸡蛋数N是函数的两个参数,而函数的值则是最优解的最大尝试次数。

    27910

    杂谈:经典算法之鸡蛋掉落问题

    引言 鸡蛋掉落问题算是一道经典的算法题目了,leetcode上面也有收录,是被我收藏了的少数几道题目之一,确实是挺有意思的一道题目,李永乐老师也做过视频讲过这个问题。...问题简介 首先,我们来看一下经典算法问题的描述: 你手上有K个鸡蛋,然后有一幢N层高的楼,他有一个临界楼层F,当鸡蛋从F层或更低的楼层中掉落的话,他都不会碎裂;反之,当鸡蛋从高于F层的楼上掉落时,鸡蛋就会碎裂...显然,如果只有一个鸡蛋,那么有几层楼就必须做几次实验才能够确保找出临界层F;而如果只有一层楼,那么无论手上有多少鸡蛋,所需要进行的实验次数都是一次。...dp[k][n-i]) for i in range(1, n+1)) 即是说,考察每一次操作从第i层掉落的情况,如果没有碎,那么只需要考察楼上的第n-i层即可;反之,如果碎了,那么只要考察在k-1个鸡蛋的情况下对

    1.5K20

    漫画说算法|动态规划解决扔鸡蛋问题

    在上一篇漫画中,小灰介绍了一道有趣的智力题: 漫画:有趣的扔鸡蛋问题 那么,如何利用动态规划来求出扔鸡蛋问题的通解? 换句话说,有M层楼 / N个鸡蛋,要找到鸡蛋摔不碎的临界点,需要尝试几次?...动态规划的大致思路是把一个复杂的问题转化成一个分阶段逐步递推的过程,从简单的初始状态一步一步递推,最终得到复杂问题的最优解。...在上一篇漫画中,两个鸡蛋100层楼的条件下,我们找到了一个规律: 假设存在最优解,在最坏情况下尝试次数是 X,那么第一个鸡蛋首次扔出的楼层也是 X 。 ? 这个规律在三个以上鸡蛋的条件上还能否适用呢?...让我们来举个栗子: 假设有三个鸡蛋,100层楼,第一个鸡蛋扔在第10层并摔碎了。这时候我们还剩下两个鸡蛋,因此第二个鸡蛋不必从底向上一层一层扔,而是可以选择在第5层扔。...我们可以把M层楼 / N个鸡蛋问题转化成一个函数 F(M,N),其中楼层数M和鸡蛋数N是函数的两个参数,而函数的值则是最优解的最大尝试次数。

    61830

    漫画说算法|有趣的扔鸡蛋问题

    题目:扔鸡蛋问题 有2个鸡蛋,从100层楼上往下扔,以此来测试鸡蛋的硬度。比如鸡蛋在第9层没有摔碎,在第10层摔碎了,那么鸡蛋不会摔碎的临界点就是9层。...问:如何用最少的尝试次数,测试出鸡蛋不会摔碎的临界点? ? 举个栗子,最笨的测试方法是什么样呢? 把其中一个鸡蛋从第1层开始往下扔。...方法一:二分法 采用类似于二分查找的方法,把鸡蛋从一半楼层(50层)往下扔。 如果第一枚鸡蛋在50层碎了,第二枚鸡蛋就从第1层开始扔,一层一层增长,一直扔到第49层。...方法二:平方根法 如何让第一枚鸡蛋和第二枚鸡蛋的尝试次数尽可能均衡呢? 很简单,做一个平方根运算,100的平方根是10。...假设第一次扔在第x-1层: 如果第一个鸡蛋碎了,那么第二个鸡蛋只能从第1层开始一层一层扔,一直扔到第x-2层。

    85920

    对《丢鸡蛋问题》的一点补充

    我们会对大家提出的问题进行筛选,将有意义的问题开放出来给大家讨论和学习。 本次给大家带来的/是【异议!】系列「第二弹」。...原题地址:https://leetcode-cn.com/problems/super-egg-drop/ 事情的起源 昨天有人在我的力扣题解下留言,问我《丢鸡蛋问题》重制版来袭~》题解中为什么第二种算法是加法而不是...输入:K = 2, N = 6 输出:3 示例 3: 输入:K = 3, N = 14 输出:4 提示: 1 <= K <= 100 1 <= N <= 10000 我当时的解法 我们这样来思考这个问题...由于「选择 x 开始扔之前已经确定了上面的两个不等式是成立的了」,因此如果鸡蛋没碎,我们需要继续往上检测,下面是不需要检测的,虽然下面是 x - 1,但是为了保证万一碎的情况也有解,所以有 dp[k -...鸡蛋如果碎的情况也是一样的分析逻辑。 ? 大家对这道题还有任何问题,都可以留言告诉我!

    62730

    鸡蛋问题来了,是先有Class还是先有Object?

    周末比较无聊,在浏览论坛的时候,偶然看到一个程序猿提问的问题,他时这样提问的:突然想到一个很菜的问题, 倒底先有Object还是先有Class?...现在我们就来一起分析和研究一下,这样有意思的问题,我感觉还是应该多多分享的,因为像这样的问题,弄明白了,你会感觉到有很大的成就感的。在我们分析之前,你认为是先有Class还是先有Object呢?...其实在他描述的这个问题中,很明显第一个点是不对的,因为在JDK中,提供了两个预定义的class, Object以及Class。...但是对于这个问题,知乎上的一个大神叫RednaxelaFX,从事JVM研发的回答的比较好,我移植过来,供大家参考一下。...虽然第1个假设不对,但“鸡蛋问题”仍然存在:在一个已经启动完毕、可以使用的Java对象系统里,必须要有一个java.lang.Class实例对应java.lang.Object这个类;而java.lang.Class

    73560

    动态规划与数学方程法解决楼层扔鸡蛋问题

    1.问题描述 两个软硬程度一样的鸡蛋,它们有可能都在一楼就摔碎,也可能从一百层楼摔下来没事。...有座100层的建筑,用这两个鸡蛋确定哪一层是鸡蛋可以安全落下的最高位置,可以摔碎两个鸡蛋,求给出一个最佳策略,测出鸡蛋恰好不会碎的楼层,最佳策略满足的条件就是在最坏情况下所扔的次数比其它任意策略的最坏情况下所扔的次数要少...一旦确定了最坏情况下最少试探次数,最佳试探方案是唯一确定的,对于两个鸡蛋来说。 问题推广: 现在推广成n层楼,m个鸡蛋。...两个鸡蛋可以使用数学方程法的来解决,但是对于多个鸡蛋,数学方程法就无能为力了。 还是动态规划。假设f[n,m]表示n层楼、m个鸡蛋时找到摔鸡蛋不碎的最少判断次数。...(>2)的最佳试探方案: 两个鸡蛋我们通过数学推理能够得出最佳的试探方案。

    1.1K30

    解决Ubuntu下Chrome中文字体混乱问题

    问题描述 当尝试渲染包含中文字符或 Unicode 字符的图表时,发现在页面上显示的中文字符是乱码的,而且只能正常显示数字或大写字母。 解决尝试 1....虽然尝试将字符集从 UTF-8 改为 GBK,但未能解决问题。 2. 浏览器版本问题 检查浏览器版本,发现使用的 Chrome 版本较旧只有 70 的版本。...升级至最新版本(120以上),但问题依然存在。 3. 字体问题 考虑到字体是否不支持中文字符,又尝试下载字体,在生成 echarts 图的时候同时设置引入字体。也没有解决问题。 4....通过安装中文字体并刷新系统字体缓存,解决了中文字符乱码的问题。重新生成 echarts 图表时,中文字符能够正常显示。 总结 问题的关键在于系统中缺乏中文字体支持。...即使在浏览器端进行各种调整,如果系统本身不支持中文字符集,问题仍无法解决。因此,确保系统中安装了适当的字体是解决类似问题的关键步骤。 从前ing ​

    92310

    两个问题

    两个问题可以说是很烦人了,但是我能忍到现在还没解决足以看出***,其实开始还是想过办法,但是没用,最后觉得换台电脑就好了,然而新电脑估计等我离开都不会有了吧。...两个问题,这半年来每天上班都会来挑战我的忍耐力 ONE chrome浏览器每次打开文件夹选择文件或者保存网页,就会卡死。...估计是电脑文件资源的问题,但是用火狐就可以呀~ 搞得每次测试功能的时候都很崩溃,+ TWO 电脑开启myeclipse后每天固定时间段卡死~ 估计有可能和上面处在一个问题,内存?资源占用?...上午11:06左右,中午13:10左右,晚上17:15左右20:20左右 刚开始遇到这问题很崩溃,但是这玩意还不知道到底哪的问题,百度没查到,问同事也不知道。...www.zjhuiwan.cn/blogImg/upload/ueditorVideo/20181220/154527276607206044205.mp4 其实就是开个小差想吐个槽...xxxxxx,什么破问题

    24910
    领券