面试智力题,字节面试爱问,分享一下

参考CyC红名大佬,又加了一个题

作者:CyC2018
链接:https://www.nowcoder.com/discuss/150434?type=post&order=time&pos=&page=2&channel=1009&source_id=search_post

赛马次数

有 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 将全部烧完。

砝码秤盐

140g盐,一天平,7g 、2g砝码各一个,如何只利用这些东西3次把盐分成50g和90g?

  • 第一次: 7g、2g砝码称出9g盐,结果盐分成9g与131g
  • 第二次:将9g盐与7g、2g都作为砝码,结果将盐分为18g与113g (注意:这时盐已经分为三份:9g、18g、113g,还有两个砝码)
  • 第三次:将18g盐与7g砝码发在左托盘,将2g砝码放在右托盘,然后在113g盐中取盐添置右托盘中,可获取23g盐。

这时盐分为9g,18g,23g与90g。

即三次,可以得到90g与(9+18+23)50g。

九球称重

有 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。

#字节跳动##面试题目#
全部评论
给你们贡献一道概率论(其实本质是线代)题: 甲乙二人轮流和电脑下棋,甲的胜率是80%,乙60%。规定如果一个人赢了就继续下,输了就换人,反复如此。请问在电脑眼中,人类的胜率是?
2 回复 分享
发布于 2020-09-15 20:09
都是绿皮书A Practical Guide To Quantitative Finance Interviews原题
2 回复 分享
发布于 2020-09-15 18:02
🐴现在还问好多概率题,上次遇到问: 两个人扔硬币,第一个扔到正面的算赢,那第一个扔硬币的人赢得概率是多少?  52张扑克牌,抽取两张牌,抽到同样花色的两张牌的概率? 家里有两个孩子,第一个孩子为女儿,第二个孩子是女孩的概率是多少?
点赞 回复 分享
发布于 2020-09-15 13:14
🐴
点赞 回复 分享
发布于 2020-09-15 11:33
九乡河,23333校友呀
点赞 回复 分享
发布于 2020-09-15 10:25
请问这种智力题会让你写代码吗,还是就是说说思路就好?
点赞 回复 分享
发布于 2020-09-15 10:03
谢谢楼主分享
点赞 回复 分享
发布于 2020-09-15 08:44

相关推荐

05-16 20:43
已编辑
门头沟学院 C++
omg,第一次面宇宙厂有点紧张的。。。1面27min1.自我介绍2.针对实习经历,遇到了哪些深刻的bug,有没有说服开发的一些场景,有没有深入去理解底层逻辑(除了bug,都没有)3.喜欢玩哪个游戏,什么地方吸引你(cs专业不玩CS2我是不认可的)4.针对某个场景设计测试用例,先根据测试类型进行一系列的划分。(基本功能,UI,安全性,本地化,性能,易用性。。。)5.cs2开箱机制怎么计算那个概率?6.你觉得这个岗位需要哪些性格品质?你个人有其中的哪些品质?7.代码题,力扣原题169.多数元素,要求时间ON空间O1,(最搞的是我写完跟面试官说这个算法叫候选人算法。。。真实名字叫Boyer-Moore 投票算法)8.智力题,一个门,隔绝了屋内屋外,屋外有三个开关,屋内有三个灯泡,你只能打开一次门,怎么确定对应的开关和灯泡的映射关系?(我一开始还想设计一个延时触发的开关,在我进门后触发,面试官说没呢么复杂hhh)想了5分钟大概,想到了灯丝会发烫这个点,面试官说完全正确,主要就是考察面试者的发散思维能力。反问:1.假如能通过是跟你一组吗?很多组,具体要看哪个组缺人。2.哪些可以改进的,不足之处?设计测试用例的时候,有点抽象,可以更加具体到特定场景,并说这才是常见的测试用例,并给我举了几个例子。——————1h后约了5.7的2面,字节不愧是宇宙厂,快放假了没有人偷懒的。。。后面有2.3面,大多也都是围绕实习经历,设计测试样例,代码题挑错,游戏经历以及游戏体验等等展开,3面完挂了,具体啥原因我也不清楚。。。😅
查看10道真题和解析
点赞 评论 收藏
分享
05-10 17:11
门头沟学院 Java
秋招过去了好久,是时候更新一下面经了一面- 拷打实习项目- 实习项目亮点- 拷打项目(折磨)- 为什么要用两级缓存- caffine淘汰策略(没看过)- 为什么本地用top50,我说是top30行不行,(预估,预热)- 如果千万级是什么方案- 为什么要牺牲一致性(CAP, BASE扯了下)- 1000w用户需要怎么做- 定时器放在那里- 怎么做数据预热- 这里battle了巨久,感觉没有回答想要的点- springboot启动流程- java bean是什么(这里我说get set方法,他说应该从IOC里面说)- IOC是什么- IOC有什么好处(说了解耦,他问还有呢,从使用者和组件开发者的角度,我是真不会啊)- 又扯了巨久,真不会回答- 手撕:验证搜索二叉树二面- 项目拷打吧20min,其实感觉也没讲明白- raft协议- raft能应对脑裂吗- ES原理- 有实际运维部署经验吗)无- 时间久远其他问题记不得了- 手撕:交叉链表三面- 拷打项目- 说说SQL的执行的整个流程- 为什么要用逻辑执行计划- 你知道MySQL优化器会优化那些内容吗- innodb引擎索引结构- 二级索引结构- b+树和b树有什么优势- 为什么二级索引叶子节点要放主键值而不是一个指针)说的页分裂不知道对不对- 知道最左匹配原则吗- undo log, redo log, bin log都说说- redo log写到内存里如何保证能刷盘(3个参数)- 事务两阶段提交的过程- MVCC实现的原理- 进程和线程的区别- 用户态和内核态的区别- 怎么从用户态切换到内核态- 在编程的时候如何减少用户态到内核态的切换)这里纯在乱答- 协程有了解吗- 说下多路IO复用- 讲下4次挥手)捏马的有点忘了状态名字了,说了两遍才说懂- 为什么time_wait是2MSL为什么不是1MSL,为什么不是3MSL- fork知道吗,fork返回的值是什么- a = fork() b=fork() print(a,b) 这个最后产生几个进程,打印的内容是什么- 了解哪些排序- 快排复杂度推导一下- 归并的复杂度推导一下- 链表做归并的时候需要从中间节点断开,这个相比归并数组会影响时间复杂度吗- LRU思路讲下- 手撕:链表排序- 一共一个半小时,强度有点大,有些推导性质的东西确实不记得了,只记得结论了。还得下来多看下
点赞 评论 收藏
分享
评论
46
420
分享

创作者周榜

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