【面试题】智力题

文章目录

该文章记录一些面试中的智力题目。

腾讯

1000瓶毒药里面只有1瓶是有毒的,问需要多少只老鼠才能在24小时后试出那瓶有毒。

题目来源:最累的一场面试,还得是腾讯!


参考:这是一个经典的二分法或者说是二进制的问题。对于1000瓶药,可以用二进制表示为从0000000000(0)到1111101000(1000)的范围,总共需要10位。因此,需要10只老鼠来试出哪一瓶是有毒的。具体的实施方案就是,将每一瓶药对应到一个二进制的数字,然后让对应到1的位置的老鼠去试那一瓶药。这样,24小时后,只需要看哪些老鼠死了,就能确定哪一瓶药是有毒的。


老鼠的死亡状态分 0-1,n 个老鼠就可以确定 2^n 个状态,即判断这么多瓶毒药中哪瓶是有毒的。

有两根不规则的绳子,两根绳子从头烧到尾均需要一个小时,现在有一个45分钟的比赛,裁判员忘记带计时器,你能否通过烧绳子的方式来为这场比赛计时?

题目来源:https://leetcode.cn/circle/discuss/ZrlHEG/


注意!:绳子是不均匀的!也就是说燃烧的时间和烧到绳子的长度没有关系。

如果绳子是规则均匀的,我们可以通过对折的方式把绳子标记为4段,点燃一端,烧到提前标记的3/4处就是45分钟。

但是本题的前提是绳子是不规则的,这个时候能不能解答出来的关键在于你有没有意识到一根绳子同时点燃两头,燃烧完的时间为30分钟。

基于上面的思路,我们先给两根绳子编个号分别为A绳和B绳,点燃A绳的一端,同时点燃B绳的两端,当B绳烧完的时候时间就过去30分钟,这个时候A绳还需要30分钟才能烧完,但是如果我们在B绳烧完的时候点燃A绳的另一端,两端同时烧A绳就还需要15分钟可以烧完。这样两根绳子烧完总用时45分钟,所以我们可以通过烧绳子的方式来为这场比赛计时。

有25匹马,5条赛道,每条赛道同时只能有一匹马跑,假设每匹马的水平都很稳定,在没有计时器的情况下最少需要比几场才能确定前三名。

题目来源:https://leetcode.cn/circle/discuss/V6ZITu/


7 场!

25匹马分成5组,每组先进行一次比赛,这就要比5场。

我们给每个小组内进行完比赛的马进行标号,排名依次递减:Ai > Bi > Ci > Di > Ei,5 >= i >= 1。

五场比赛后确定了每个小组内的名次,接下来只需要把每个小组的第一名拿出来A1 A2 A3 A4 A5比一次,确定每个小组第一名的排名。假设结果是 A1 > A2 > A3 > A4 > A5,我们会得到下面的矩阵:

这样确定第一名A1。

根据上面的矩阵规律,可以确定第二名只能从B1和A2之间产生,接下来我们针对这两种情况来进行分别讨论。

如果第二名是B1,那么第三名只能从A2 B2 C1 之间产生。

如果第二名是A2,那么第三名只能从B1 B2 A3 之间产生。

所以只需要再将 A2 A3 B1 B2 C1这5匹马比一次就能确定第二名和第三名。

总共的比赛场次是5+1+1=7,最少需要比7场可以确定前三名。

相关推荐
陪学39 分钟前
百度遭初创企业指控抄袭,维权还是碰瓷?
人工智能·百度·面试·职场和发展·产品运营
大数据编程之光2 小时前
Flink Standalone集群模式安装部署全攻略
java·大数据·开发语言·面试·flink
ifanatic4 小时前
[面试]-golang基础面试题总结
面试·职场和发展·golang
程序猿进阶5 小时前
堆外内存泄露排查经历
java·jvm·后端·面试·性能优化·oom·内存泄露
长风清留扬6 小时前
一篇文章了解何为 “大数据治理“ 理论与实践
大数据·数据库·面试·数据治理
周三有雨18 小时前
【面试题系列Vue07】Vuex是什么?使用Vuex的好处有哪些?
前端·vue.js·面试·typescript
爱米的前端小笔记18 小时前
前端八股自学笔记分享—页面布局(二)
前端·笔记·学习·面试·求职招聘
好学近乎知o18 小时前
解决sql字符串
面试
我明天再来学Web渗透1 天前
【SQL50】day 2
开发语言·数据结构·leetcode·面试
程序员奇奥1 天前
京东面试题目分享
面试·职场和发展