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

漫画:有趣的扔鸡蛋问题

————— 第二天 ————— 题目:扔鸡蛋问题 有2个鸡蛋,从100层楼上往下扔,以此来测试鸡蛋的硬度。...比如鸡蛋在第9层没有摔碎,在第10层摔碎了,那么鸡蛋不会摔碎的临界点就是9层。 问:如何用最少的尝试次数,测试出鸡蛋不会摔碎的临界点? 举个栗子,最笨的测试方法是什么样呢?...方法二:平方根法 如何让第一枚鸡蛋和第二枚鸡蛋的尝试次数尽可能均衡呢? 很简单,做一个平方根运算,100的平方根是10。...最后,让我们把第一个鸡蛋没碎的情况下,所尝试的楼层数完整列举出来: 14,27, 39, 50, 60, 69, 77, 84, 90, 95, 99, 100 举个栗子验证下: 假如鸡蛋不会碎的临界点是...几点补充: 1.下一期小灰将会讲解如何利用动态规划求出扔鸡蛋问题的通解,不太了解动态规划的小伙伴可以看看小灰之前的漫画预习下: 漫画:什么是动态规划?

30110
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    大楼扔鸡蛋问题的求解

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

    21810

    再谈大楼扔鸡蛋的问题

    这道题是说,100 层楼,两个一模一样的鸡蛋,某层之上扔鸡蛋就会碎。问要测试多少次才能找出这层楼来。我曾经在去年初的这篇文章里面讨论过这个问题的解法,因为只想记录一下思路和讨论过程,写得很简略。...现在只有两个鸡蛋,而算法必须在各种合法输入下都是可行的,就是说要能找出这一层来,你得假设你的运气最差,这就意味着,我求解的是在每种扔鸡蛋的策略下都有一个需要扔的次数的最大值,而现在需要求解的是这些最大值中的最小值的问题...动态规划法求解 现在,我有两枚鸡蛋,第一枚鸡蛋从哪一层楼开始扔就显得至关重要了。如果第一枚鸡蛋碎了,那就回到刚说的只有一枚鸡蛋的问题了。...层开始扔的子问题了,这个时候可以检测 (x-1) 层高的楼……依此类推,也得到了最终累计可以检测的楼高,正是这个等差数列求和公式: x+(x-1)+(x-2)+……+1 这也是为什么,我们可以从网上找到的扔鸡蛋问题...现在把问题稍稍转变一下,把鸡蛋数量的限制去掉,再把求爬楼梯的限制加上,不妨再来求解: 如果鸡蛋数量无限,但是假如说扔一次鸡蛋需要耗费力气 a,每爬一层楼(无论向上还是向下)需要耗费力气 b,现在用怎样的扔鸡蛋策略

    26720

    swoole安装时的问题

    背景 第一次研究swoole: 看官网的手册学习,并写了一个“会员通知实时短信发送”【超级简单的应用,只用了swoole1%的东西】 第二次研究: 1、原因:学习PHP的多进程-PCNTL,学完发现...2、总结: A、PCNTL和swoole的原理类似,但不同。 B、PCNTL用PHP+c实现,应用级、生产级别没有现成的封装,要自己慢慢敲。...优点:对多线程原理的理解深刻 C、swoole用纯c实现,控制的是Linux的kernel内核。最大发挥了Unix系统的高性能。...+ declare(ticks = 1)对比pcntl_signal_dispatch,后者像是事件模式,前者类似while循环】 安装问题: 4.3源码里的examples里的server.php...4.3是与之前截然不同的版本,需要额外安装PHP扩展:非协程特性独立扩展 (swoole_async) 安装swoole_async老是报错,所以只能放弃,选4.2version,这样就不能使用easySwoole

    1.1K20

    安装redsocks时碰到的问题

    转发所有流量,也就是透明代理的优势在于: 不需要单独设置git, gnome, cli的代理 可以配置负载均衡实现高速上网 本文主要讲述redsocks安装过程中碰到的几个问题: 问题一:libevent...编译安装 在编译redsocks时会出现libevent没有安装的问题,所以我们需要编译安装。...编译libevent命令 make 安装libevent命令 sudo make install 问题二:openssl/ssh.h not found!...安装lib包即可 sudo apt install libssl-dev 问题三:redsocks 编译 版本:redsocks-release-0.67 编译命令: make ENABLE_HTTPS_PROXY...=true 编译后似乎没有安装选项,看到有redsocks2和redsocks2.service文件,使用源码中redsocks.conf.example来配置,并将ip: example.org换为你自己的

    1.8K20

    Jenkins安装方式导致的权限问题

    背景 大家知道Jenkins有很多种安装方式,可以通过Homebrew、War包等形式,但在 MacOS 上有一种更简单的方式就是通过 dmg 安装,不过这里选择了这种方式安装在后面使用Jenkins的过程中会经常遇到执行某些命令权限不足的情况...,果然简单是有代价的 解决方案 究其原因是 Jenkins 自动在Mac系统里创建了一个名为 jenkins 的用户,默认情况下Jenkins 里的自动化构建任务操作都是以这个用户身份来进行的,所以有时会出现一些权限问题.../LaunchDaemons/org.jenkins-ci.plist # 修改用户及相关文件夹的权限,用户名填写你的MacOS用户名 sudo vim +1 +/daemon +’s/daemon/...log/jenkins/ # 启动Jenkins sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist 最后这里建议大家如果要安装...Jenkins,为了避免出现上面的权限问题,最好还是老老实实用war包安装吧,一步到位。

    82130

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

    题目:扔鸡蛋问题 有2个鸡蛋,从100层楼上往下扔,以此来测试鸡蛋的硬度。比如鸡蛋在第9层没有摔碎,在第10层摔碎了,那么鸡蛋不会摔碎的临界点就是9层。...问:如何用最少的尝试次数,测试出鸡蛋不会摔碎的临界点? ? 举个栗子,最笨的测试方法是什么样呢? 把其中一个鸡蛋从第1层开始往下扔。...方法二:平方根法 如何让第一枚鸡蛋和第二枚鸡蛋的尝试次数尽可能均衡呢? 很简单,做一个平方根运算,100的平方根是10。...最后,让我们把第一个鸡蛋没碎的情况下,所尝试的楼层数完整列举出来: 14,27, 39, 50, 60, 69, 77, 84, 90, 95, 99, 100 举个栗子验证下: 假如鸡蛋不会碎的临界点是...2、CVPR2019:PizzaGAN通过深度学习制作披萨 3、用Python+OpenCV实现猜词游戏 4、多相机视觉系统的坐标系统标定与统一及其应用 5、OpenCV4.0实现人脸识别 6、基于内容的图像检索技术综述

    86820

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

    ❝这是力扣加加第「16」篇原创文章 ❞ 去年的一年时间,我在群里每天都会出题给大家做。但是就在 2020-03 开始,力扣也开展了每日一题活动。...我们会对大家提出的问题进行筛选,将有意义的问题开放出来给大家讨论和学习。 本次给大家带来的/是【异议!】系列「第二弹」。...原题地址:https://leetcode-cn.com/problems/super-egg-drop/ 事情的起源 昨天有人在我的力扣题解下留言,问我《丢鸡蛋问题》重制版来袭~》题解中为什么第二种算法是加法而不是...你知道存在楼层 F ,满足 0 的楼层落下的鸡蛋都会碎,从 F 楼层或比它低的楼层落下的鸡蛋都不会破。...鸡蛋如果碎的情况也是一样的分析逻辑。 ? 大家对这道题还有任何问题,都可以留言告诉我!

    63430

    安装Python时遇到如下问题,解决方案

    完成 python-pip 已经是最新的版本了。 升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 233 个软件包未被升级。...: 子进程 已安装 post-installation 脚本 返回了错误号 1 dpkg: 依赖关系问题使得 mercurial 的配置工作不能继续: mercurial 依赖于 mercurial-common...dpkg: 处理软件包 python-setuptools (--configure)时出错: 子进程 已安装 post-installation 脚本 返回了错误号 1 dpkg: 依赖关系问题使得...dpkg: 处理软件包 python-pip (--configure)时出错: 依赖关系问题 - 仍未被配置 正在设置 python-wheel (0.24.0-1~ubuntu1) ......easy-to-use, scalable distributed version control system 下列软件包只是被不全面地配置了,这也许要归咎于 第一次配置它们时出的问题

    2.6K80

    Ubuntu安装时出现黑屏问题的解决

    Ubuntu v14.04安装时黑屏处理 问题描述:Ubuntu使用光盘/USB安装时,出现"install ubuntu/ try ubuntu without...installation"选择,但是Enter安装时,显示器显示没有信息,进行休眠 原因分析:由于ubuntu对于显卡支持有问题,需要手动添加显卡驱动选项 解决办法:...一、安装时,选择"install ubuntu"后,按"e"进入编辑模式,进入命令行模式, 然后去掉"--"后,依照不同显卡进行不同显卡驱动选项的添加 1.Intel 82852/82855...二、当安装结束后,启动系统出现黑画面 1.开机,进入grub画面(如果硬碟没有别的OS,请开机时按住shift不放才会有grub画面) 2.按'''e''' 进入编辑开机指令的模式...3.按 ''F10''启动系统. 4.进去系统之后编辑'''/etc/default/grub''' 这个档案(要管理者权限sudo)。

    13.7K10
    领券