您当前的位置: 首页 > 

TechGuide

暂无认证

  • 6浏览

    0关注

    176博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【合集第一弹】那些年折磨过你的字节智力题!

TechGuide 发布时间:2021-08-28 18:15:13 ,浏览量:6

恭喜发现宝藏!微信搜索公众号【TechGuide】关注更多新鲜好文和互联网大厂的笔经面经。 作者@TechGuide【全网同名】 点赞再看,养成习惯,您动动手指对原创作者意义非凡🤝

文章目录
  • 前言
  • 正文
    • 【第一题】25匹马,5个赛道,每次只能同时有5匹马跑,最少比赛几次选出排名前三快的马?
    • 【第二题】只有两个无刻度的水桶,一个可以装6L水,一个可以装5L水,如何在桶里装入3L的水?
    • 【第三题】1000瓶药水里面只有1瓶是有毒的,毒发时间为24个小时,问需要多少只老鼠才能在24小时后试出那瓶有毒。
    • 【第四题】家里有两个孩子,一个是女孩,另一个也是女孩的概率是多少?
    • 【第五题】烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?
    • 【第六题】一枚硬币,一面向上概率0.7,一面0.3,如何公平?
    • 【第七题】两个人轮流抛硬币,先抛到正面的赢,问先抛的人赢的概率
    • 【第八题】一共12个一样的小球, 其中只有一个重量与其它不一样(未知轻重),给你一个天平,找出那个不同重量的球?
    • 【第九题】有10瓶药,每瓶有10粒药,其中有一瓶是变质的。好药每颗重1克,变质的药每颗比好药重0.1克。问怎样用天秤称一次找出变质的那瓶药?
    • 【第十题】你有两个罐子,50个红色弹球,50个蓝色弹球,如何将这100个球放入到两个罐子,随机选出一个罐子取出的球为红球的概率最大?
    • 【第十一题】你现在有一根金条,有一个工人为你工作了七天,他们的工资是金条的七分之一,并且需要当天结清,你只能对金条切割两次,请问需要怎么做。
    • 【第十二题】有三个酒杯,其中两个大酒杯每个可以装8两酒,一个可以装3两酒。现在两个大酒杯都装满了酒,只用这三个杯子怎么把酒平均的分给4个人喝?
    • 【第十三题】坐标系中有一个球桌,四个角坐标:(0,0), (0,4), (2,4), (2,0),一颗球在(1,1),请问从哪些角度可以射入洞内(可无限次碰撞)?
  • 后记

前言

应小伙伴们强烈要求,字节面试常考智力题大合集来了嘛这不是!智力题?听起来像是考智力似的哈哈(然而并不是),真的做不出来也不必较真,第一次就想出最优解的毕竟少数,大部分人还是会有点吃力的。而且智力题这玩意你看一遍也就记住了,和那些第一次做的候选人就容易拉开差距(所以恭喜发现宝藏),更重要的是他不会像算法题那样反复折磨你,做了几遍还是记不住。不过番哥觉得这种题目做多了确实可以锻炼你的逻辑思维能力,让你一下子能看清事情的本质,所以是挺有价值的,话不多说,一起来看看题目。

由于智力题不是普通的八股文,每道题目还是值得细细揣摩的,所以本系列会分成三个部分依次更新,大家利用课余时间跟着节奏思考一下每篇的几道题目,之后再看答案复盘一下,应该能很快掌握,并且不会觉得太吃力。

正文 【第一题】25匹马,5个赛道,每次只能同时有5匹马跑,最少比赛几次选出排名前三快的马?

思路解析:

这个题目字节经常问,大概思想就是先分5组跑,跑出每组第一名,将每组第一名放到一起跑,找出25马的第一名,然后找出2、3名,一共需要7次

前五次:

将25匹马放到5个赛道比赛,找出每个赛道的第一名。假设A1、B1、C1、D1、E1分别为每组的第一名,如下表。

赛道A赛道B赛道C赛道D赛道EA1B1C1D1E1A2B2C2D2E2A3B3C3D3E3A4B4C4D4E4A5B5C5D5E5

第六次:

将A1、B1、C1、D1、E1放到一个赛道上找出第一名,假设为A1,其他四名分别为B1、C1、D1、E1。这时第一名已经找到了,还需找到二、三名。因为C1的速度比D1和E1的速度快,所以赛道D和赛道E的所有马都被淘汰了。有机会成为二、三名的马为A2、A3、B1、B2、C1这五匹马,即前五名在这个区域,并且第一名为A1。如下图

赛道A赛道B赛道C赛道D赛道EA1B1C1D1E1A2B2C2D2E2A3B3C3D3E3A4B4C4D4E4A5B5C5D5E5

第七次:

将A2、A3、B1、B2、C1放到一个赛道找出前两名,再加上A1,这就找到前三名了。

引申:小伙伴们可以思考下如果要找到前五名需要几次呢?欢迎留言写出你的解法,我会置顶供大家讨论。

【第二题】只有两个无刻度的水桶,一个可以装6L水,一个可以装5L水,如何在桶里装入3L的水?

提示:这个问题的本质就是利用两个水桶的已知容量倒来倒去,问题的解法并不唯一,算是比较简单的了,但考场上需要冷静一点。

思路解析:

  1. 先将5L的桶装满,将5L的桶的水倒入6L的桶中。这时5L的桶是空的,6L的桶中有5L的水
  2. 再将5L的桶装满,倒入6L的桶中。这时5L的桶有4L的水,6L的桶是满的
  3. 将6L的桶中的水倒掉,5L的桶的水倒入6L的桶中。这时5L的桶是空的,6L的桶中有4L的水
  4. 将5L的桶装满,倒入6L的桶中。这时5L的桶还有3L的水,6L的桶是满的。
【第三题】1000瓶药水里面只有1瓶是有毒的,毒发时间为24个小时,问需要多少只老鼠才能在24小时后试出那瓶有毒。

思路解析:

先不仔细想,凭直觉给个答案,没错,log2N。但是为什么呢?这道题目很有趣,类似题目还有给你一个天平,几次才能称出n个物品中较轻或较重的那个。为了简化问题,我先以最简单的8瓶药水为例,求解出答案,然后在这个过程中,你体会下是不是存在某种规律可以将数量引申到任意一个数字N。

假设有只有8瓶药水,其中有一瓶有毒,根据公式需要 log2(8)=3个老鼠

先将瓶子进行编号为0-7号,用位数表示老鼠,如下图, 在这里插入图片描述 将4、5、6、7号药水混合到一起喂给老鼠1,将2,3,6,7号药水混合喂给老鼠2,将1、3、5、7药水混合喂给老鼠3,观察老鼠是否中毒。

这里你可能会疑惑,为什么要这样的组合混合呢?考场上那么短时间我咋想的到,先别急,待会会解释。

中毒的老鼠标号为1,未中毒的老鼠标号为0,将三只老鼠标号组合到一起即为有毒药水的标号。

例如,第老鼠1中毒,老鼠2未中毒,老鼠3中毒。那么三只老鼠的二进制表示为101,即5号药水有毒。因为老鼠1中毒,说明4、5、6、7号药水中含有毒的药水。老鼠2未中毒,说明2、3、6、7无毒。老鼠3中毒,说明1、3、5、7中有一瓶有毒。所以有毒的为5号药水,其实和直接将二进制转化为十进制的结果是一样的。

问题的本质是位数可表示的状态数,这道问题其实可以改为表示N个状态最少需要几位?比如八瓶毒药,其实就是八种状态,你可能会反驳,不应该是2的八次方种状态吗?实际上,这里已经对毒药数量做了限定,只有1瓶是有毒的, 这个很关键,如果用二进制表示的话,可以认为有10000000、01000000、… 、00000001这八种状态(上图中的1-8你可以理解为第几瓶有毒),怎么用位数表示八种状态呢?就是上图那样,用三位即可。

回到正题,如果有1000瓶药水,则需要10只老鼠,因为10位二进制足以表示0-999这1000种状态了。

【第四题】家里有两个孩子,一个是女孩,另一个也是女孩的概率是多少?

思路解析:

已知家里有两个孩子A和B,其中一个是女孩,关键问题就在其中一个是女陔这句话上。

如果你理解为这个是指定了一个孩子为女孩,例如A为女孩,那么B也是女孩的概率显然为二分之一。

如果你理解为A或B有一个孩子是女孩,问另一个孩子也是女陔的概率,这就是三分之一了。因为两个孩子的性别只有男男、男女、女男、女女四种组合,男男被排除了,剩下三种组合均符合题意,所以是三分之一。

其实,题目本身应该是第二种理解的意思,告诉你了有一个是女孩并未明确说哪个是。但很多人看到题目就会先入为主,先指定了一个孩子为女孩,那另一个孩子为女孩的概率肯定是二分之一了,这是不正确的。

【第五题】烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?

思路解析:

卧槽,看到这道题的时候,老实交代有多少人被考过这道题,反正番哥碰到过,当时觉得这不就是个脑经急转弯吗?细细想来还挺有趣的,有一点突破平时思考框架限制的那味了。先说结论,问题的关键就是要知道绳子可以从两头烧!

将绳子1从一段开始烧,同时将绳子2从两端烧,绳子2在半小时后烧完。

这时开始计时,将绳子1的另一端点燃,从计时开始绳子1烧完后是15分钟,然后点燃绳子3的一端,绳子3烧完需要一个小时。加上刚才的15分钟正好是1小时15分钟。

知道答案之后还觉得挺巧妙的,但真要面试的时候第一次碰到,猛的一下可能还是挺难有思路的,所以平时多看看,没准面试官刚好就问这道呢?是不是还可以慢条斯理的分析一波本质哈哈哈。

【第六题】一枚硬币,一面向上概率0.7,一面0.3,如何公平?

抛两次, 正反A胜, 反正B胜。

【第七题】两个人轮流抛硬币,先抛到正面的赢,问先抛的人赢的概率

每一轮抛硬币,A先抛赢得概率是1/2,B后抛赢得概率是(1/2)*(1/2)= 1/4。那么 每一轮A赢得概率都是B赢得概率的2倍 ,总概率为1,所以A赢的概率是2/3。

【第八题】一共12个一样的小球, 其中只有一个重量与其它不一样(未知轻重),给你一个天平,找出那个不同重量的球?

这个问题的思想是采用分治的思想。

将12个小球分为三组(因为分成两组不能找到重量不一样的球在哪组),为A组、B组、C组。

将三组球分别两两称重,找到重量和另外两组不同的那一组(只要有两组可以使天平平衡,重量不一致的球必然在第三组)。假设坏的球在C组。

将C组的球分成两组C1和C2,每组两个球,这时从A组和B组里找到两个正常的球,分别和C1和C2去称,天平不能平衡说明重量不一致的球就在哪组。假设在C1,将C1组的球分别和正常的球去称,天平不平衡时就能找到重量与其他不一致的球。

【第九题】有10瓶药,每瓶有10粒药,其中有一瓶是变质的。好药每颗重1克,变质的药每颗比好药重0.1克。问怎样用天秤称一次找出变质的那瓶药?

将这10瓶药标好号1-10。

然后按照瓶子的标号取药,1号药瓶取1粒药,2号药瓶取2粒药,3号药瓶取3例药,以此类推,取完10瓶药一起放到天平上去称。如果没有变质的药,重量应该是55克,这时多出几克,几号药瓶就是变质的。例如3克,那么变质的药就是3号药瓶的。

【第十题】你有两个罐子,50个红色弹球,50个蓝色弹球,如何将这100个球放入到两个罐子,随机选出一个罐子取出的球为红球的概率最大?

这个问题应该是这几道题中最简单的了,将一个红球放到一个罐子中,另一个罐子放49个红球和50个蓝球,这样随便选出一个罐子取出红球的概率是1/2 * 1 + 1/2 * 49 /(49+50),接近0.75。

【第十一题】你现在有一根金条,有一个工人为你工作了七天,他们的工资是金条的七分之一,并且需要当天结清,你只能对金条切割两次,请问需要怎么做。

这个问题和平时用的纸币金额是一个道理,将一根金条切割两次可以得到三根金条,这三根金条必须可以组合出1-7之间的任意金额。

将金条分两次切成长度为1、2、4的金条即可。

第一天,将长度为1的金条支付给工人。 第二天,将长度为2的金条支付给工人,工人将长度为1的金条还给你。 第三天,将长度为1的金条支付给工人 第四天,将长度为4的金条支付给工人,工人将长度为1,2的金条还给你 第五条,将长度为1的金条支付给工人 第六条,将长度为2的金条支付给工人,工人将长度为1的金条还给你 第七天,将长度为1的金条支付给工人

【第十二题】有三个酒杯,其中两个大酒杯每个可以装8两酒,一个可以装3两酒。现在两个大酒杯都装满了酒,只用这三个杯子怎么把酒平均的分给4个人喝?

这个问题就是用杯子倒来倒去,一共16两酒分给四个人,最后每个人都喝四两酒即可

用三个数字表示三个杯子,最开始为880,即两个8两的杯子是满的,一个3两的杯子是空的。

880—>853,这时A喝掉第三个杯子的三两酒变成850 850—>823,这时B喝掉第二个杯子的二两变酒成803 803—>830—>533—>560—>263—>281,A喝掉第三个杯子的一两酒变成280(A喝完了4两) 280—>253—>550—>523—>820—>703—>730—>433—>460—>163—>181,这时C和D各喝一两酒变成080 080—>053—>350—>323,这时B喝点第二个杯子的二两酒,C和D各喝三两酒,到此所有人都喝了四两酒

【第十三题】坐标系中有一个球桌,四个角坐标:(0,0), (0,4), (2,4), (2,0),一颗球在(1,1),请问从哪些角度可以射入洞内(可无限次碰撞)?

一般想法是将球镜像对称,但这道题是把洞镜像对称,将这个桌面在这个平面无限延展,可类比成无限张球桌紧密放置,那么每一个和球洞的连线都是合法路径。

未完待续,

后记

大厂面试内容现在越来越讲究多元化,记得之前美团面试的时候,面试官直接和我聊到现在面试流程里就必须带上一道智力题,算是一个考核项,有的时候面试官经过前面的交流其实已经对你有好感了,也是希望你通过的,但是倒在智力题上多多少少有点可惜(之前确实有看到这种悲剧…)。所以这个周末怒肝智力题合集,希望大家少走弯路,也可以转给身边需要的人,本系列会持续更新,请持续关注。

关注
打赏
1665329535
查看更多评论
立即登录/注册

微信扫码登录

0.0370s