题目: 01背包问题有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次 第 i 件物品的体积是 vi,价值是 wi 求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大 输出最大价值第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积 接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 件物品的体积和价值0 < N, V ≤ 100
今天要聊一个很经典的算法问题,若干层楼,若干个鸡蛋,让你算出最少的尝试次数,找到鸡蛋恰好摔不碎的那层楼。国内大厂以及谷歌脸书面试都经常考察这道题,只不过他们觉得鸡蛋太浪费,改成杯子,破碗什么的。具体的问题等会再说,但是这道题的解法技巧很多,光动态规划就好几种效率不同的思路,最后还有一种极其高效数学解法。秉承咱们号一贯的作风,拒绝奇技淫巧,拒绝过于诡异的技巧,因为这些技巧无法举一反三,学了不太
原创 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,是求解决策过程最优化的数学方法,后来沿用到了编程领域。动态规划的大致思路是把一个复杂的问题转化成一个分阶段逐步递推的过
Jav
原创 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评论
经典的动态规划问题,题设是这样的:如果你有2颗鸡蛋,和一栋36层高的楼,现在你想知道在哪一层楼之下,鸡蛋不会被摔碎,应该如何用最少的测试次数对于任何答案楼层都能够使问题得到解决。如果你从某一层楼扔下鸡蛋,它没有碎,则这个鸡蛋你可以继续用如果这个鸡蛋摔碎了,则你可以用来测试的鸡蛋减少一个所有鸡蛋的质量相同(都会在同一楼层以上摔碎)对于一个鸡蛋,如果其在楼层i扔下的时候摔碎了,对于任何不小于i的楼层,
转载 2024-01-16 16:04:54
50阅读
问题描述一幢 n层的大楼,给你两个鸡蛋. 如果在第 i层扔下鸡蛋,鸡蛋不碎,那么从前 i-1 层鸡蛋都不碎.这k(k>1)只鸡蛋一模一样,不碎的话可以无数次. 已知鸡蛋在0层不会碎.提出一个策略, 要保证能测出鸡蛋恰好不会碎的楼层, 并使此策略在最坏情况下所次数最少.问题分析1)最坏情况下所次数最少,比较绕口。想表达的意思是,在不明确知道哪一层会碎的情况下,要找到一种策略,通过最少的试验次数,得到临界楼层(恰好不会碎的楼层)。不明确知道,就需要考虑最糟糕的情况,而且这种策略与其他
原创 2021-07-11 14:37:52
293阅读
# 经典动态规划问题:高楼鸡蛋今天要聊一个很经典的算法问题,若干层楼,若干个鸡蛋,让你算出最少的尝试次数,找到鸡蛋恰好摔不碎的那层楼。国内大厂以及谷歌脸书面试都经常考察这道题,只不过他们觉得鸡蛋太浪费,改成杯子,破碗什么的。具体的问题等会再说,但是这道题的解法技巧很多,光动态规划就好几种效率不同的思路,最后还有一种极其高效数学解法。秉承咱们号一贯的作风,拒绝奇技淫巧,拒绝过于诡异的技巧,因
我们在 上篇文章 聊了高楼鸡蛋问题,讲了一种效率不是很高,但是较为容易理解的动态规划解法。后台很多读者问如何更高效地解决这个问题,今天就谈两种思路,来优化一下这个问题,分别是二分查找优化和重新定义状态转移。如果还不知道高楼鸡蛋问题的读者可以看下 经典动态规划:高楼鸡蛋,那篇文章详解了题目的含义和基本的动态规划解题思路,请确保理解前文,因为今天的优化都是基于这个基本解法的。二分搜索的优化思路也
原创 2021-04-07 10:40:58
219阅读
[1,100]区间之内,将这个数字写在了一张纸上,然后B来猜。   如果B猜的数字偏小的话,A会提示:“数字偏小”A以后就再也不会提示了,只会回答“猜对 或 猜错”    问: 乙至少猜(13)多少次才可以准确猜出这个数字,在这种策略下,乙猜的第一个数字是(13)解析:B某次猜的偏大,A就不再提示,此次之后B猜的偏小A也不会再提
又是鸡蛋
转载 2021-07-16 15:55:03
895阅读
章 聊了高楼鸡蛋问题,讲了一种效率不是很高,但是较为容易理解的动态规划解法。后台很多读者问如...
转载 2022-09-22 09:32:57
56阅读
高楼鸡蛋问题基本概念基本概念高楼鸡蛋问题:有一栋1到N的N层楼,有k个鸡蛋,其中k至少为1已经去顶这栋楼存在楼层0<=F<=N,0 <= F <= N,0<=F<=N, 在这层将鸡蛋扔下楼,鸡蛋恰好没碎,即高于F的楼层鸡蛋都会碎,低于F的楼层鸡蛋都不会碎在最坏的情况下,至少要几次鸡蛋,能够确定这样的楼层F最坏情况: 鸡蛋破碎的情况一定是发生在搜索区间穷尽时不考虑鸡蛋个数比如楼层一共有7层,鸡蛋最原始的方式就是从第1层开始鸡蛋尝试,如果扔到
原创 2022-01-27 14:40:13
106阅读
高楼鸡蛋问题基本概念基本概念高楼鸡蛋问题:有一栋1到N的N层楼,有k个鸡蛋,其中k至少为1已经去顶这栋楼存在楼层0<=F<=N,0 <= F <= N,0<=F<=N, 在这层将鸡蛋扔下楼,鸡蛋恰好没碎,即高于F的楼层鸡蛋都会碎,低于F的楼层鸡蛋都不会碎在最坏的情况下,至少要几次鸡蛋,能够确定这样的楼层F最坏情况: 鸡蛋破碎的情况一定是发生在搜索区间穷尽时不考虑鸡蛋个数比如楼层一共有7层,鸡蛋最原始的方式就是从第1层开始鸡蛋尝试,如果扔到
原创 2021-05-18 14:35:37
334阅读
今天要聊一个很经典的算法问题,若干层楼,若干个鸡蛋,让你算出最少的尝试次数,找到鸡蛋恰好摔不碎的那层楼。国内大厂以及谷歌脸书面试都经常考察这道题,只不过他们觉得鸡蛋太浪费,改成杯子,破碗什么的。具体的问题等会再说,但是这道题的解法技巧很多,光动态规划就好几种效率不同的思路,最后还有一种极其高效数学解法。秉承咱们号一贯的作风,拒绝奇技淫巧,拒绝过于诡异的技巧,因为这些技巧无法举一反三,学了也不
假设有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评论
  • 1
  • 2
  • 3
  • 4
  • 5