面试常问智力题

原文链接

赛马次数

有 25 匹马和 5 条赛道,赛马过程无法进行计时,只能知道相对快慢。问最少需要几场赛马可以知道前 3 名。

先把 25 匹马分成 5 组,进行 5 场赛马,得到每组的排名。再将每组的第 1 名选出,进行 1 场赛马,按照这场的排名将 5 组先后标为 A、B、C、D、E。可以知道,A 组的第 1 名就是所有 25 匹马的第 1 名。而第 2、3 名只可能在 A 组的 2、3 名,B 组的第 1、2 名,和 C 组的第 1 名,总共 5 匹马,让这 5 匹马再进行 1 场赛马,前两名就是第 2、3 名。所以总共是 5+1+1=7 场赛马。

A 组:1,2,3,4,5
B 组:1,2,3,4,5
C 组:1,2,3,4,5
D 组:1,2,3,4,5
E 组:1,2,3,4,5

用绳子计时 15 分钟

给定两条绳子,每条绳子烧完正好一个小时,并且绳子是不均匀的。问要怎么准确测量 15 分钟。

  • 点燃第一条绳子 R1 两头的同时,点燃第二条绳子 R2 的一头;
  • 当 R1 烧完,正好过去 30 分钟,而 R2 还可以再烧 30 分钟;
  • 点燃 R2 的另一头,15 分钟后,R2 将全部烧完。

九球称重

有 9 个球,其中 8 个球质量相同,有 1 个球比较重。要求用 2 次天平,找出比较重的那个球。

将这些球均分成 3 个一组共 3 组,选出 2 组称重,如果 1 组比较重,那么重球在比较重的那 1 组;如果 1 组重量相等,那么重球在另外 1 组。

对比较重的那 1 组的 3 个球再分成 3 组,重复上面的步骤。

药丸称重

有 20 瓶药丸,其中 19 瓶药丸质量相同为 1 克,剩下一瓶药丸质量为 1.1 克。瓶子中有无数个药丸。要求用一次天平找出药丸质量 1.1 克的药瓶。

可以从药丸的数量上来制造差异:从第 i 瓶药丸中取出 i 个药丸,然后一起称重。可以知道,如果第 i 瓶药丸重 1.1 克/粒,那么称重结果就会比正常情况下重 0.1 * i 克。

得到 4 升的水

有两个杯子,容量分别为 5 升和 3 升,水的供应不断。问怎么用这两个杯子得到 4 升的水。

可以理解为用若干个 5 和 3 做减法得到 4。

  • 不能从 3 做减法得到 4,那么只能从 5 做减法得到 4,即最后一个运算应该为 5 - 1 = 4,此时问题转换为得到 1 升的水;
  • 1 升的水可以由 3 做减法得到,3 - 2 = 1,此时问题转换为得到 2 升的水;
  • 5 - 3 = 2。

扔鸡蛋

一栋楼有 100 层,在第 N 层或者更高扔鸡蛋会破,而第 N 层往下则不会。给 2 个鸡蛋,求 N,要求最差的情况下扔鸡蛋的次数最少。

可以将楼层划分成多个区间,第一个鸡蛋 E1 用来确定 N 属于哪个区间,第二个鸡蛋 E2 按顺序遍历该区间找到 N。那么问题就转换为怎么划分区间满足最坏情况下扔鸡蛋次数最少。

E1 需要从第一个区间开始遍历到最后一个区间。如果按等大小的方式划分区间,即 E2 的遍历次数固定。那么最坏的情况是 N 在最后一个区间,此时 E1 遍历的次数最多。为了使最坏情况下 E1 和 E2 总共遍历的次数比较少,那么后面的区间大小要比前面的区间更小。具体来说,E1 每多遍历一次,E2 要少遍历一次,才使得 N 无论在哪个区间,总共遍历的次数一样。设第一个区间大小为 X,那么第二个区间的大小为 X-1,以此类推。那么 X + (X-1) + (X-2) + … + 1 = 100,得到 X (X + 1) / 2 = 100 ,即 X = 14。

参考资料

  • 程序员面试金典
全部评论
大佬缺挂件吗
点赞 回复 分享
发布于 2019-01-03 22:24
扔鸡蛋那个我记得是Google的经典老题了
点赞 回复 分享
发布于 2019-01-04 01:50
我TM现在看到赛马题想打人
2 回复 分享
发布于 2019-01-04 00:37
mark
点赞 回复 分享
发布于 2020-09-15 09:43
这种题没看过的话,估计确实不能很快答上来
点赞 回复 分享
发布于 2019-08-30 09:59
真的可惜,要是早点看到就好
点赞 回复 分享
发布于 2019-08-23 18:44
老哥稳的一批!
点赞 回复 分享
发布于 2019-08-23 15:30
要是提前看到大佬的分享就好了,真的是碰到了原题,不过都哪些公司喜欢问这种题啊?
点赞 回复 分享
发布于 2019-08-23 11:57
楼层的问题也可以用称重的思路解:每次都从已知楼层的最中间开始扔鸡蛋,若破了则不在下方区域,开始对另一区域最中间的楼层扔鸡蛋,一直测出鸡蛋在哪个楼层会破大概需要6、7次。 类似100一直除以2然后得到1以下的小数的思路。
点赞 回复 分享
发布于 2019-08-13 17:43
抱紧大佬的大腿
点赞 回复 分享
发布于 2019-01-10 16:47
遇到过三个 我都说对了  这种感觉不难 难的是概率题
点赞 回复 分享
发布于 2019-01-09 20:25
遇到赛马次数和4升水的问题
点赞 回复 分享
发布于 2019-01-09 17:50
点赞 回复 分享
发布于 2019-01-09 17:18
好蓝
点赞 回复 分享
发布于 2019-01-07 19:04
不一般
点赞 回复 分享
发布于 2019-01-07 15:34
点赞 回复 分享
发布于 2019-01-07 15:26
美团面试,“囚犯模豆子问题” 全程懵逼,然后挂了🤣
点赞 回复 分享
发布于 2019-01-06 21:26
之前就是因为一道智力题挂了。。。心痛
点赞 回复 分享
发布于 2019-01-06 17:36
老哥赞赞赞
点赞 回复 分享
发布于 2019-01-05 14:38
有时候还是很好奇,这些智力题是为了什么目的考的?
点赞 回复 分享
发布于 2019-01-04 10:00

相关推荐

04-04 16:49
门头沟学院 Java
已挂 1.自我介绍2找一个大模型项目,技术选型,技术框架等介绍下3.bge向量化模型,看过其他模型吗,对比了吗回答的不好,没准备4.向量数据库milvus里面的ANN算法5.它和传统的算法的时间复杂度是怎么样的6.rag的切分策略是什么答得递归切分,三层策略7.LLM的提示词怎么设计的答得结合业务场景,意图识别,角色限定,模型选择,query改写,8.编写提示词有哪些经验,有参考的示例吗架构师,全站工程师,测试工程师,必须,禁止等关键词9.LLM怎么跟rag结合起来的,只听到意图识别检索测和生成侧都有10.查询结果通过精排,LLM结合输出,可以简单的这样理解吗11问答的过程,记忆是怎么实现的12.短期记忆的话涉及到多轮对话,怎么进行压缩,或者说有什么其他策略吗答得近期保留,远处的对话摘要,保持知道这样一个对话13.自我介绍的时候的时候,有做过模型的训练,基于哪个预训练模型YOLOV8,V1114.数据集是什么类型的数据集,准确度能达到多少,指标15.平常用哪些语言,mysql慢查询优化,索引优化策略16.mysql主键索引一定是连续的吗17.默认的情况设定的自增吗,连续吗18.三个线程同时写msqyl数据,第一个比如主键ID为1,第二个主键ID为2,同时向一个唯一索引的写数据,1写成功了,二失败了回滚;此时第三个线程往里面插数据,这个时候第三个线程的主键ID是三还是二呢不会19.kafka消息是怎么存储的,存储的组织结构,topic下面有很多持久化文件或者说现在输入一个id,kafka根据id怎么找到持久化的一个内容20java用的哪个版本,默认垃圾回收器是什么,G1是怎么做垃圾回收的吗可以详细讲下垃圾回收算法吗21项目里面redis除了做记忆存储还有哪些作用list set做存储,bitmap做文件上传标记22redis里面是单机,还是主从还是集群呢23.redis怎么保证高可用的不会24.集群或者是主从一个机器宕机的话,怎么故障回复的;或者说主从切换怎么做的之前有了解吗25.选主策略呢,哪个从节点优选为主节点反问ai业务,业务进度清明节前会更新吗,然后秒挂跨境电商,相关的策略相关的,推荐相关的,在做探索kafka redis高可用知识不系统,后面再看看
查看27道真题和解析
点赞 评论 收藏
分享
zerohenry:还有第三轮,总监面,目前是总监没时间或者横向中
点赞 评论 收藏
分享
评论
64
961
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务