【面试题】智力题

2023-09-17 21:24:30

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

腾讯

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场可以确定前三名。

更多推荐

现在全国融资融券两融利率最低是多少?哪家证券公司券商费率低?

融资融券是指投资者通过向券商借入资金(融资)或借入证券(融券),以达到获得更高收益、降低交易风险、提高资金利用效率的目的。通过融资,投资者可以用借入的资金买入更多的证券;通过融券,投资者可以借入证券卖出并借入现金,以期待股票或证券价格下跌后再回购并归还借入的证券,获得差价收益。融资融券是证券市场中的一种融资方式和交易策

SpringMVC学习|JSON讲解、Controller返回JSON数据、Jackson、JSON乱码处理、FastJson

JSON讲解JSON(JavaScriptObjectNotation,JS对象标记)是一种轻量级的数据交换格式,目前使用特别广泛。采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。在JavaS

【案例教学】华为云API图像搜索ImageSearch的快捷性—AI帮助您快速归类图片

云服务、API、SDK,调试,查看,我都行阅读短文您可以学习到:人工智能AI同类型的相片合并归类1IntelliJIDEA之API插件介绍API插件支持VSCodeIDE、IntelliJIDEA等平台、以及华为云自研CodeArtsIDE,基于华为云服务提供的能力,帮助开发者更高效、便捷的搭建应用。API插件关联华为

区块链(2):区块链的应用分类和诞生的故事

1区块链的应用分类第一类:数字资产第一类是数字资产,分为一般数字资产和主打匿名应用场景的匿名数字资产。一般数字资产包括我们非常熟悉的比特币【https://bitcoin.org】、莱特币,在前面我们已经学习过,除此之外还有新经币NEM(NewEconomyMovement)、Decred(中文名暂无)、狗狗币Doge

Redis群集

1、redis群集三种模式redis群集有三种模式,分别是主从同步/复制、哨兵模式、Cluster,下面会讲解一下三种模式的工作方式,以及如何搭建cluster群集●主从复制:主从复制是高可用Redis的基础,哨兵和集群都是在主从复制基础上实现高可用的。主从复制主要实现了数据的多机备份,以及对于读操作的负载均衡和简单的

redisson使用过程常见问题汇总

文章目录常见报错1.配置方式使用错误2.版本差异报错3.配置文件中配置了密码或者配置错误4.字符集和序列化方式配置问题5.Redisson的序列化问题6.连接池问题:7.Redisson的高可用性问题:8.Redisson的并发问题9.Redisson的性能问题2.参考文档常见报错1.配置方式使用错误Redisson提

redis设计规范

部分内容参考:阿里redis开发规范同时,结合shigen在实习中的实践经验总结。key的名称设计可读性和管理性业务名:表名:idpro:user:1001简洁性控制key的长度,可以用缩写transaction->tras拒绝bigkey防止网卡流量、慢查询,string类型控制在10KB以内,hash、list、s

Redis 高性能设计之epoll和IO多路复用深度解析

I/O多路复用模型是什么I/O:网络I/O多路:多个客户端连接(连接就是套接字描述符,即socket或者channel),指的是多条TCP连接复用:用一个进程来处理多条的连接,使用单进程就能的够实现同时处理多个客户端的连接一句话:实现了用一个进程来处理大量的用户连接,IO多路复用类似一个规范和接口落地实现:可以分sel

深度对话|Sui在商业技术堆栈中的地位

近日,我们采访了MystenLabs的商业产品总监LolaOyelayo-Pearson,共同探讨了区块链技术如何为企业提供商业服务,以及为什么Sui特别适合这些用例。1.请您简要介绍一下自己、您的角色以及您是如何开始涉足Web3领域的?目前,我领导MystenLabs的商业产品团队。通常来说,商业涵盖了一切,它可能是

山石网科国产化入侵防御系统,打造全生命周期的安全防护

随着互联网的普及和网络安全的威胁日益增加,botnet感染成为了企业面临的重要问题之一。botnet是一种由分散的客户端(或肉鸡)组成的网络,这些客户端被植入了bot程序,受控于攻击者。攻击者通过这些客户端的bot程序,利用C&C服务器对这些客户端进行管理和控制,以达到非法牟利的目的。被感染攻击的企业不仅会面临公司和个

GET和POST的区别,java模拟postman发post请求

目录一、先说一下get和post1、看一下人畜无害的w3schools怎么说:2、问一下文心你言哥,轻轻松松给你一个标准答案:3、卧槽,懂了,好像又没懂二、让我们扒下GET和POST的外衣,坦诚相见吧!三、我们的大BOSS还等着出场呢四、java模拟post请求1、弯了?那就给它掰回来。2、HttpURLConnect

热文推荐