大老表示这道面试题太简单,要增加难度

昨天中午吃完午饭,和Jason大佬两个人静静地坐在河边小憩。

两个人都不说话,挺尴尬的。此时,刚好看到某群里在讨论一道面试算法题,我就把手机递了过去让大佬端详一下。

在这里插入图片描述

普通青年解答

我先解答,

可以使用二分法的手段找到这一瓶有毒的水。

1000瓶水先分成2组各500瓶,并将其中一组内500瓶水混合,混合后让小白鼠喝下,小白鼠死了就说明有毒的水在这组中,反之,在另一组中,以此方法往下推。可得:

1000瓶水时(剩10只),500瓶水时(剩9只),250瓶水时(剩8只),125瓶水时(剩7只),63瓶水时(剩6只),32瓶水时(剩5只),16瓶水时(剩4只),8瓶水时(剩3只),4瓶水时(剩2只),2瓶水(剩1只)时各消耗一只小白鼠,在只剩2瓶水时,还有1只小白鼠可用,所以成功找出有毒的水。

这种题目还有很多变种的题目,例如10个鸡蛋测从多高的地方掉下来不会碎之类的题目。

在这里插入图片描述

二X青年回答

说完第一种解答方式之后,我灵光一闪,想到一种只消耗一只老鼠的办法,

既然有无数只试管,那么我就用枚举法!

抓一只小白鼠,试完1000瓶水的的试管不就行了?

在这里插入图片描述

大神青年回答

Jason大佬表示,这么玩没意思,加个条件。

小白鼠喝下毒水之后,不会马上有反应,但会在1个小时内毒发身亡。

“这下我完蛋了,按照方法一需要10个小时才能得出结果,按照方法二可能要用1000小时才能得出结果!!! 解决方案:

拿10个空瓶编号为(10)(9)(8)(7)(6)(5)(4)(3)(2)(1)。

将二进制的第一位(最右边的为第一位)为1的瓶子每瓶取一滴药水装入编号为(1)的瓶子,将二进制的第二位为1的瓶子每瓶取一滴药水装入编号为(2)的瓶子,以此类推。

最后用10只老鼠编号为10,9,8,7,6,5,4,3,2,1喝下对应编号瓶子的药水,一小时后检查老鼠的存活情况。

在这里插入图片描述
存活的老鼠表示0,死亡的老鼠表示1,可以得到一个10位的二进制数。

假如仅1号鼠死亡,其余老鼠都存活,则说明1号水有毒,

在这里插入图片描述
假如10,9,8,7,6,4号鼠死亡,其余老鼠都存活,则说明1000号水有毒。

在这里插入图片描述

在理想情况下,10只小白鼠同时喝下10只试管的水,只要1个小时就能得到结果。

真的懂了么?

假如第10,8,6,4,2号鼠死亡,其余存活那么几号水有毒呢?

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(文末获取!)
在这里插入图片描述
温馨提示:篇幅有限,已打包文件夹,获取方式在“文末”!!!

二、Python必备开发工具

在这里插入图片描述

三、精品Python学习书籍

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
在这里插入图片描述

四、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述
在这里插入图片描述

五、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

六、Python练习题

检查学习结果。
在这里插入图片描述

七、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述

这份完整版的Python全套学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费

Python资料、技术、课程、解答、咨询也可以直接点击下面名片,添加官方客服斯琪

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值