# 经典动态规划问题:高楼扔鸡蛋今天要聊一个很经典的算法问题,若干层楼,若干个鸡蛋,让你算出最少的尝试次数,找到鸡蛋恰好摔不碎的那层楼。国内大厂以及谷歌脸书面试都经常考察这道题,只不过他们觉得扔鸡蛋太浪费,改成扔杯子,扔破碗什么的。具体的问题等会再说,但是这道题的解法技巧很多,光动态规划就好几种效率不同的思路,最后还有一种极其高效数学解法。秉承咱们号一贯的作风,拒绝奇技淫巧,拒绝过于诡异的技巧,因
转载
2023-09-11 10:27:58
64阅读
经典的动态规划问题,题设是这样的:如果你有2颗鸡蛋,和一栋36层高的楼,现在你想知道在哪一层楼之下,鸡蛋不会被摔碎,应该如何用最少的测试次数对于任何答案楼层都能够使问题得到解决。如果你从某一层楼扔下鸡蛋,它没有碎,则这个鸡蛋你可以继续用如果这个鸡蛋摔碎了,则你可以用来测试的鸡蛋减少一个所有鸡蛋的质量相同(都会在同一楼层以上摔碎)对于一个鸡蛋,如果其在楼层i扔下的时候摔碎了,对于任何不小于i的楼层,
转载
2024-01-16 16:04:54
50阅读
[1,100]区间之内,将这个数字写在了一张纸上,然后B来猜。 如果B猜的数字偏小的话,A会提示:“数字偏小”A以后就再也不会提示了,只会回答“猜对 或 猜错” 问: 乙至少猜(13)多少次才可以准确猜出这个数字,在这种策略下,乙猜的第一个数字是(13)解析:B某次猜的偏大,A就不再提示,此次之后B猜的偏小A也不会再提
范.K.萨普博士的《通往财务自由之路》有一个经典的用来阐述交易系统的模型:假设我们来玩一个扔雪球的游戏。在我们的面前有一面雪墙,我们站在雪墙后面,有人向我们扔雪球,我们的游戏目标是随着时间的增加,使得我们的雪墙体积不断变大,以此来保护我们。游戏有几个规则如下:1、扔雪球的频率。2、雪球分两种,白雪球和黑雪球:白雪球会使得你的雪墙增大白雪球等量的体积,是正向的;黑雪球会使得你的雪墙'消融'黑雪球的等
转载
2023-10-04 10:11:52
0阅读
今天要聊一个很经典的算法问题,若干层楼,若干个鸡蛋,让你算出最少的尝试次数,找到鸡蛋恰好摔不碎的那层楼。国内大厂以及谷歌脸书面试都经常考察这道题,只不过他们觉得扔鸡蛋太浪费,改成扔杯子,扔破碗什么的。具体的问题等会再说,但是这道题的解法技巧很多,光动态规划就好几种效率不同的思路,最后还有一种极其高效数学解法。秉承咱们号一贯的作风,拒绝奇技淫巧,拒绝过于诡异的技巧,因为这些技巧无法举一反三,学了也不
转载
2024-09-05 19:20:25
74阅读
有一口井,井的高度为N,每隔1个单位它的宽度有变化。现在从井口往下面扔圆盘,如果圆盘的宽度大于井在某个高度的宽度,则圆盘被卡住(恰好等于的话会下去)。盘子有几种命运:1、掉到井底。2、被卡住。3、落到别的盘子上方。盘子的高度也是单位高度。给定井的宽度和每个盘子的宽度,求最终落到井内的盘子数量。如图井和盘子信息如下:井:5 6 4 3 6 2 3盘子:2 3 5 2 4最终有4个盘子落在...
原创
2021-07-09 14:58:51
94阅读
题目: 01背包问题有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次 第 i 件物品的体积是 vi,价值是 wi 求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大 输出最大价值第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积 接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 件物品的体积和价值0 < N, V ≤ 100
因为这次作业是第一个实验,比较简单,但是要求面向对象来做,而我这个时候又刚好在学JS,JS来做骰子游戏即有前端了,又省了后台处理,代码量会比用JAVA来做少了非常非常多。考虑到这种弱智的实验实在不想浪费时间取用JAVA写,于是有了一下JS实现的版本。但是大家都知道JS的面向对象其实是伪面向对象。我感觉并不好用,因为用句柄的方式无法传值,你封装成对象了还得拆出来成为过程(单一方法)来用。版本1:(没
假设有一个硬币,抛出字(背面)和花(正面)的概率都是0.5,而且每次抛硬币与前次结果无关。现在做一个游戏,连续地抛这个硬币,直到连续出现两次字为止,问平均要抛多少次才能结束游戏?注意,一旦连续抛出两个“字”向上游戏就结束了,不用继续抛。上面这个题目我第一次见到是在pongba的TopLanguage的一次讨论上,提出问题的人为Shuo Chen,当时我给出了一个解法,自认为已经相当简单了,先来考虑
转载
2024-05-06 16:54:23
83阅读
假设有n层楼,2个鸡蛋。问最少摔几次能够找出恰好把鸡蛋摔坏的楼层。 这是一个典型的 min(max) 问题。 解题思路 动态规划 第一种思路是,动态规划,这里状态有两个维度:可用鸡蛋个数,待检验楼层个数。 假设第一次从i层开始摔,如果碎了,还剩一个鸡蛋,只能从一层开始遍历,最坏需要i次;如果没碎,问 ...
转载
2021-09-01 21:56:00
236阅读
2评论
1279 扔盘子有一口井,井的高度为N,每隔1个单位它的宽度有变化。
原创
2023-02-17 16:56:48
99阅读
## 实现“python 扔鸡蛋”的流程
在开始教你如何实现“python 扔鸡蛋”之前,我们先来了解一下整个流程。实现这个功能的基本思路是模拟鸡蛋碎裂的过程,通过不断调整扔鸡蛋的高度,找到鸡蛋碎裂的楼层。
下面是整个流程的步骤表格:
| 步骤 | 操作 |
| ------ | ------ |
| 1. 确定楼层数范围 | 确定鸡蛋扔下去不会碎的最高楼层和鸡蛋扔下去一定会碎的最低楼层 |
原创
2023-09-08 04:14:17
119阅读
腾讯面试的时候,面试官问了一道算法题,然后懵逼。。 遂记录于此。嗯,下面的题,有的是说鸡蛋,有的是说花瓶,但是实质都是一样的。 1、 一个100层的楼,扔下一个鸡蛋(花瓶),怎么判断在N层不碎,N + 1层碎,思路是什么? 因为就一个鸡蛋,所以,我们很容易就可以想到从第一层开始扔就可以了,直到碎,说
转载
2017-07-20 00:24:00
301阅读
2评论
有一口井,井的高度为N,每隔1个单位它的宽度有变化。现在从井口往下面扔圆盘,如果圆盘的宽度大于井在某个高度的宽度,则圆盘被卡住(恰好等于的话会下去)。 盘子有几种命运:1、掉到井底。2、被卡住。3、落到别的盘子上方。 盘子的高度也是单位高度。给定井的宽度和每个盘子的宽度,求最终落到井内的盘子数量。
转载
2017-10-01 12:39:00
147阅读
2评论
基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题 收藏 关注 有一口井,井的高度为N,每隔1个单位它的宽度有变化。现在从井口往下面扔圆盘,如果圆盘的宽度大于井在某个高度的宽度,则圆盘被卡住(恰好等于的话会下去)。 盘子有几种命运:1、掉到井底。2、被卡住。3、落到别
原创
2021-07-15 14:43:49
95阅读
博主的话❤️:大家好✨,这里是想做生信大恐龙?的生信小白。先赞后看养成习惯,还没关注的小伙伴点点关注不迷路。年关将至,大家都会小赌怡情,今天写了一个骰子比大小游戏,感兴趣的可以看看? 目录博主的话❤️:一、程序实现二、程序优化1.预防不正确输入2.优化体验 一、程序实现分析问题:骰子比大小是我们经常玩的一个小游戏也十分的简单,就是不同玩家骰子点数比较大小。 编写程序:#骰子比大小
import r
转载
2024-09-11 00:48:01
17阅读
离开华为,荣耀真的还能继续荣耀吗?
转载
2021-06-21 18:33:47
192阅读
有一口井,井的高度为N,每隔1个单位它的宽度有变化。现在从井口往下面扔圆盘,如果圆盘的宽度大于井在某个高
原创
2023-12-30 08:09:08
43阅读
887. 鸡蛋掉落你将获得 K 个鸡蛋,并可以使用一栋从 1 到 N 共有 N 层楼的建筑。每个蛋的功能都是一样的,如果一个蛋碎了,你就不能再把它掉下去。你知道存在楼层 F ,满足 0 <= F <= N 任何从高于 F 的楼层落下的鸡蛋都会碎,从 F 楼层或比它低的楼层落下的鸡蛋都不会破。每次移动,你可以取一个鸡蛋(如果你有完整的鸡蛋)并把它从任一楼层 X 扔下(满足 1 <=
引子这是一篇之前在一家大型跨区域公司培训时所做的感悟文章,在自己身边带了很久,仍时不时的拿出来自省,文笔拙劣,望大家不吝拍砖!正文“请给我结果!”——这似乎已经成了大多数领导的口头禅。工作是否有结果,成为了考核的唯一标准。不可否认,注重结果,在一定程度上提高了办事的效率,体现了整个团队的执行力,彰显了领导的管理才能。但单一的过于追求结果,容易造成资源的浪费,人员负面情绪增长,以及员工个人工作素质难
原创
2013-09-04 00:07:41
784阅读
点赞