经典的动态规划问题,题设是这样的:如果你有2颗鸡蛋,和一栋36层高的楼,现在你想知道在哪一层楼之下,鸡蛋不会被摔碎,应该如何用最少的测试次数对于任何答案楼层都能够使问题得到解决。如果你从某一层楼扔下鸡蛋,它没有碎,则这个鸡蛋你可以继续用如果这个鸡蛋摔碎了,则你可以用来测试的鸡蛋减少一个所有鸡蛋的质量相同(都会在同一楼层以上摔碎)对于一个鸡蛋,如果其在楼层i扔下的时候摔碎了,对于任何不小于i的楼层,
转载
2024-01-16 16:04:54
50阅读
# 经典动态规划问题:高楼扔鸡蛋今天要聊一个很经典的算法问题,若干层楼,若干个鸡蛋,让你算出最少的尝试次数,找到鸡蛋恰好摔不碎的那层楼。国内大厂以及谷歌脸书面试都经常考察这道题,只不过他们觉得扔鸡蛋太浪费,改成扔杯子,扔破碗什么的。具体的问题等会再说,但是这道题的解法技巧很多,光动态规划就好几种效率不同的思路,最后还有一种极其高效数学解法。秉承咱们号一贯的作风,拒绝奇技淫巧,拒绝过于诡异的技巧,因
转载
2023-09-11 10:27:58
64阅读
[1,100]区间之内,将这个数字写在了一张纸上,然后B来猜。 如果B猜的数字偏小的话,A会提示:“数字偏小”A以后就再也不会提示了,只会回答“猜对 或 猜错” 问: 乙至少猜(13)多少次才可以准确猜出这个数字,在这种策略下,乙猜的第一个数字是(13)解析:B某次猜的偏大,A就不再提示,此次之后B猜的偏小A也不会再提
今天要聊一个很经典的算法问题,若干层楼,若干个鸡蛋,让你算出最少的尝试次数,找到鸡蛋恰好摔不碎的那层楼。国内大厂以及谷歌脸书面试都经常考察这道题,只不过他们觉得扔鸡蛋太浪费,改成扔杯子,扔破碗什么的。具体的问题等会再说,但是这道题的解法技巧很多,光动态规划就好几种效率不同的思路,最后还有一种极其高效数学解法。秉承咱们号一贯的作风,拒绝奇技淫巧,拒绝过于诡异的技巧,因为这些技巧无法举一反三,学了也不
转载
2024-09-05 19:20:25
74阅读
假设有n层楼,2个鸡蛋。问最少摔几次能够找出恰好把鸡蛋摔坏的楼层。 这是一个典型的 min(max) 问题。 解题思路 动态规划 第一种思路是,动态规划,这里状态有两个维度:可用鸡蛋个数,待检验楼层个数。 假设第一次从i层开始摔,如果碎了,还剩一个鸡蛋,只能从一层开始遍历,最坏需要i次;如果没碎,问 ...
转载
2021-09-01 21:56:00
236阅读
2评论
## 实现“python 扔鸡蛋”的流程
在开始教你如何实现“python 扔鸡蛋”之前,我们先来了解一下整个流程。实现这个功能的基本思路是模拟鸡蛋碎裂的过程,通过不断调整扔鸡蛋的高度,找到鸡蛋碎裂的楼层。
下面是整个流程的步骤表格:
| 步骤 | 操作 |
| ------ | ------ |
| 1. 确定楼层数范围 | 确定鸡蛋扔下去不会碎的最高楼层和鸡蛋扔下去一定会碎的最低楼层 |
原创
2023-09-08 04:14:17
119阅读
腾讯面试的时候,面试官问了一道算法题,然后懵逼。。 遂记录于此。嗯,下面的题,有的是说鸡蛋,有的是说花瓶,但是实质都是一样的。 1、 一个100层的楼,扔下一个鸡蛋(花瓶),怎么判断在N层不碎,N + 1层碎,思路是什么? 因为就一个鸡蛋,所以,我们很容易就可以想到从第一层开始扔就可以了,直到碎,说
转载
2017-07-20 00:24:00
301阅读
2评论
题目: 01背包问题有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次 第 i 件物品的体积是 vi,价值是 wi 求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大 输出最大价值第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积 接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 件物品的体积和价值0 < N, V ≤ 100
887. 鸡蛋掉落你将获得 K 个鸡蛋,并可以使用一栋从 1 到 N 共有 N 层楼的建筑。每个蛋的功能都是一样的,如果一个蛋碎了,你就不能再把它掉下去。你知道存在楼层 F ,满足 0 <= F <= N 任何从高于 F 的楼层落下的鸡蛋都会碎,从 F 楼层或比它低的楼层落下的鸡蛋都不会破。每次移动,你可以取一个鸡蛋(如果你有完整的鸡蛋)并把它从任一楼层 X 扔下(满足 1 <=
漫画:有趣的扔鸡蛋问题点击上方“程序员小灰”,选择关注公众号有趣有内涵的文章第一时间送达!—————第二天—————题目:扔鸡蛋问题有2个鸡蛋,从100层楼上往下扔,以此来测试鸡蛋的硬度。比如鸡蛋在第9层没有摔碎,在第10层摔碎了,那么鸡蛋不会摔碎的临界点就是9层。问:如何用最少的尝试次数,测试出鸡蛋不会摔碎的临界点?举个栗子,最笨的测试方法是什么样呢?把其中一个鸡蛋从第1层开始往下扔。如果在第1
原创
2020-11-14 16:09:57
429阅读
上篇文章聊了高楼扔鸡蛋问题,讲了一种效率不是很高,但是较为容易理解的动态规划解法。后台很多读者问如何更高效地解决这个问题,今天就谈两种思路,来优化一下这个问题,分别是二分查找优化和重新定义状态转移。如果还不知道高楼扔鸡蛋问题的读者可以看下「经典动态规划:高楼扔鸡蛋」,那篇文章详解了题目的含义和基本的动态规划解题思路,请确保理解前文,因为今天的优化都是基于这个基本解法的。二分搜索的优化思路也许是我们
原创
2020-12-23 15:19:46
480阅读
小灰 程序员小灰————— 第二天 —————题目:扔鸡蛋问题有2个鸡蛋,从100层楼上往下扔,以此来测试鸡蛋的硬度。比如鸡蛋在第9层没有摔碎,在第10层摔碎了,那么鸡蛋不会摔碎的临界点就是9层。问:如何用最少的尝试次数,测试出鸡蛋不会摔碎的临界点?举个栗子,最笨的测试方法是什么样呢?把其中一个鸡蛋从第1层开始往下扔。如果在第1层没碎,换到第2层扔如果在第2层没碎,换到第3层扔.......
原创
2021-05-30 23:56:25
1835阅读
今天要聊一个很经典的算法问题,若干层楼,若干个鸡蛋,让你算出最少的尝试次数,找到鸡蛋恰好摔不碎的那层楼。国内大厂以及谷歌脸书面试都经常考察这道题,只不过他们觉得扔鸡蛋太浪费,改成扔杯子,扔破碗什么的。具体的问题等会再说,但是这道题的解法技巧很多,光动态规划就好几种效率不同的思路,最后还有一种极其高效数学解法。秉承咱们号一贯的作风,拒绝奇技淫巧,拒绝过于诡异的技巧,因为这些技巧无法举一反三,学了不太
原创
2021-04-07 10:41:25
301阅读
点g 今天要聊一个很经典的算法问题,若干层楼,若干个鸡蛋,让你算出最少的尝试次数,找到鸡蛋恰好摔不碎...
转载
2022-09-22 09:36:00
23阅读
今天要聊一个很经典的算法问题,若干层楼,若干个鸡蛋,让你算出最少的尝试次数,找到鸡蛋恰好摔不碎的那层楼。国内大厂以及谷歌脸书面试都经常考察这道题,只不过他们觉得扔鸡蛋太浪费,改成扔杯子,扔破碗什么的。具体的问题等会再说,但是这道题的解法技巧很多,光动态规划就好几种效率不同的思路,最后还有一种极其高效数学解法。秉承咱们号一贯的作风,拒绝奇技淫巧,拒绝过于诡异的技巧,因为这些技巧无法举一反三,学了也不
原创
2020-12-23 15:18:01
570阅读
小灰 程序员小灰 在上一篇漫画中,小灰介绍了一道有趣的智力题:漫画:有趣的扔鸡蛋问题那么,如何利用动态规划来求出扔鸡蛋问题的通解?换句话说,有M层楼 / N个鸡蛋,要找到鸡蛋摔不碎的临界点,需要尝试几次?本篇会为大家详细讲述。动态规划英文 Dynamic Programming,是求解决策过程最优化的数学方法,后来沿用到了编程领域。动态规划的大致思路是把一个复杂的问题转化成一个分阶段逐步递推的过
原创
2021-05-31 00:01:32
1037阅读
漫画:动态规划解决扔鸡蛋问题点击上方“程序员小灰”,选择关注公众号有趣有内涵的文章第一时间送达!在上一篇漫画中,小灰介绍了一道有趣的智力题:漫画:有趣的扔鸡蛋问题那么,如何利用动态规划来求出扔鸡蛋问题的通解?换句话说,有M层楼/N个鸡蛋,要找到鸡蛋摔不碎的临界点,需要尝试几次?本篇会为大家详细讲述。什么是动态规划?动态规划英文DynamicProgramming,是求解决策过程最优化的数学方法,后
原创
2020-11-14 16:04:43
226阅读
动态规划问题:高楼扔鸡蛋 力扣 887 题 难度:困难 思路分析: 题目是这样: 你面前有一栋从 1 到N共N层的楼,然后给你K个鸡蛋(K至少为 1)。现在确定这栋楼存在楼层0 <= F <= N,在这层楼将鸡蛋扔下去,鸡蛋恰好没摔碎(高于F的楼层都会碎,低于F的楼层都不会碎)。现在问你,最坏情况下 ...
转载
2021-07-16 12:07:00
239阅读
2评论
这是我决定开始写博客的第一篇技术博客。整理自己的学习过程,和大家分享,共同进步。 利用这篇博客,我试图把最大似然(估计)以及朴素贝叶斯分类等做个总结,错漏请指正。1.贝叶斯公式 贝叶斯公式作为概率论中的基础,大家都见过,极为简单。但是学习时候无非用于一些红球黑球,男生女生的估计问题,学起来也是兴趣寥寥。我也不曾想它用处之大,可谓大道至简。 如果对于概率还没有基础或者兴趣的人,
转载
2024-07-08 09:56:15
42阅读
01PART扔鸡蛋实验有一栋100层的楼,和2个坚硬的鸡蛋,从楼上扔下鸡蛋,鸡蛋会在大于某一层刚好开始碎,那最少几次能测出鸡蛋能承受的最大楼层呢?如果从第50层扔下鸡蛋没碎,第51层扔下碎了,那鸡蛋能承受的最大楼层就是50。注意:你手上只有2个鸡蛋,如果扔下碎了,就没法再使用了。
小明条件反射般作答,从1层开始往上测试,到第i层碎掉就有结果了。
小K说,这个方法确实可以测出来,但太慢了(当然暂不考
转载
2021-06-29 14:43:43
544阅读