【被面试官吊打系列】啥,你没说面试要考智力题呀 (上) ?

在这里插入图片描述

你好,我是安然无虞。

文章目录

  • 1. 二进制问题
    • 分金条问题
    • 毒药问题
  • 2. 先手必胜问题
    • 轮流拿石子
    • 抢30的必胜策略
    • Nim游戏
  • 3. 水桶问题
    • 5L和6L的水桶怎么量出3L的水?
    • 3L和5L的水桶怎么量出4L的水?
    • 一个装了10L水的桶,一个7L的空桶还有一个3L的空桶
    • 舀酒问题
  • 4. 计时问题
    • 漏斗计时
    • 烧绳子
    • 蜡烛燃烧
  • 5. 赛马问题
    • 25匹马5条跑道找最快的3匹马
    • 64匹马8条跑道找最快的4匹马
  • 6. 思维发散题:为什么井盖是圆的?

随着现在越来越卷,我们面试的时候,无论是技术岗,还是非技术岗,往往都会遇到一种特殊的题型:智力题。

有一说一,这种题目,有点恶心,有点类似于脑筋急转弯,面试官主要是想考察候选人的思维灵活性。

所以我们不但要刷leetcode,智力题最好也要有个印象,不然一问三不知就怪尴尬的,OK,一起走着吧老铁~
在这里插入图片描述

1. 二进制问题

分金条问题

问:工人给你打工,工作七天可以得到一根金条,这根金条平分成相连的7段,你必须在每天结束的时候给他们一段金条。如果只允许你两次把金条弄断,你如何给你的工人付费?

解答:切两刀,分成1/7,2/7,4/7三段

第一天给1/7;

第二天给2/7,并换回之前的1/7;

第三天给1/7;

第四天给4/7,并换回之前给的1/7和2/7;

第五天给1/7;

第六题给2/7,并换回之前给的1/7;

第七天给1/7.

毒药问题

问:有1000个一模一样的瓶子,其中有999瓶是普通的水,有1瓶是毒药。任何喝下毒药的生命都会在一星期之后死亡。现在你只有10只小白鼠和1个星期的时间,如何检验出哪个瓶子有毒药?

解答:首先一共有1000瓶,2的10次方是1024,刚还大于1000,也就是说1000瓶药品可以使用10位二进制数表示出来。

  • 第一瓶 : 00 0000 0001
  • 第二瓶 : 00 0000 0010
  • 第三瓶 : 00 0000 0011
  • ……
  • 第999瓶: 11 1111 0010
  • 第1000瓶:11 1111 0011

将10只老鼠按照顺序进行编号为ABCDEFGHIJ,代表着从低位到高位的每一个二进制位。

每只老鼠对应一个二进制位,如果该位的数字为1,则让老鼠喝瓶里的药。观察,若死亡的老鼠编号为:ACFGJ这5只老鼠,则对应的编号为10 0110 0101,有毒的药品就是该编号,转为十进制为:613号。

2. 先手必胜问题

轮流拿石子

题目链接:石子游戏

问:你和你的朋友面前有一排石头堆,用一个数组 piles 表示,piles[i] 表示第 i 堆石子有多少个。你们轮流拿石头,一次拿一堆,但是只能拿走最左边或者最右边的石头堆。所有石头被拿完后,谁拥有的石头多,谁获胜。

由你第一个开始拿,注意,石头的堆的数量为偶数,所以你们两人拿走的堆数一定是相同的。石头的总数为奇数,也就是你们最后不可能拥有相同多的石头,一定有胜负之分。

举个例子,piles=[2, 1, 9, 5],你先拿,可以拿 2 或者 5,你选择 2。

piles=[1, 9, 5],轮到对手,可以拿 1 或 5,他选择 5。

piles=[1, 9] 轮到你拿,你拿 9。

最后,你的对手只能拿 1 了。

这样下来,你总共拥有 2 + 9 = 11 颗石头,对手有 5 + 1 = 6 颗石头,你是可以赢的,所以算法应该返回 true。

你看到了,并不是简单的挑数字大的选,为什么第一次选择 2 而不是 5 呢?因为 5 后面是 9,你要是贪图一时的利益,就把 9 这堆石头暴露给对手了,那你就要输了。

解答:这个条件下,先下手必胜。

如果我们把这四堆石头按索引的奇偶分为两组,即第 1、3 堆和第 2、4 堆,那么这两组石头的数量一定不同,也就是说一堆多一堆少。因为石头的总数是奇数,不能被平分。

而作为第一个拿石头的人,你可以控制自己拿到所有偶数堆,或者所有的奇数堆。

你最开始可以选择第 1 堆或第 4 堆。如果你想要偶数堆,你就拿第 4 堆,这样留给对手的选择只有第 1、3 堆,他不管怎么拿,第 2 堆又会暴露出来,你就可以拿。同理,如果你想拿奇数堆,你就拿第 1 堆,留给对手的只有第 2、4 堆,他不管怎么拿,第 3 堆又给你暴露出来了。

也就是说,你可以在第一步就观察好,奇数堆的石头总数多,还是偶数堆的石头总数多,然后步步为营,就一切尽在掌控之中了。知道了这个漏洞,可以整一整不知情的同学了。

当然,「总共有偶数堆石子」和「石子总数为奇数」是先手必胜的前提条件。

抢30的必胜策略

问:抢30是双人游戏,游戏规则:第一个人喊1 或 2,第二个人要接着往下喊一个或两个数,然后再轮到第一个人。两个人轮流进行下去,问喊数字的最佳策略。

解答:尽量喊3的倍数。

倒着看,其实,喊到27时就决定胜负了。

假设A喊了27,B只能喊28或29,下个回合,A一定可以喊到30,也就是说,喊27者必胜。

再倒着看,喊24时就决定胜负了,假设A喊了24,B只能喊25或者26,下个回合A一定能喊27.

同理可以推出:喊3的倍数者必胜。

然后会发现,这个游戏谁先喊,谁一定输。

Nim游戏

这道题的思路跟抢30的必胜策略很相似,游戏规则是这样的:

问:你和你的朋友面前有一堆石子,你们轮流拿,一次至少拿一颗,最多拿三颗,谁拿走最后一颗石子谁获胜。

假设你们都很聪明,由你第一个开始拿,比如现在有 4 颗石子,无论你拿 1 颗 2 颗还是 3 颗,对方都能一次性拿完,拿走最后一颗石子,所以你一定会输。

解答:我们解决这种问题的思路一般都是反着思考。

如果我能赢,那么最后轮到我取石子的时候必须要剩下 1~3 颗石子,这样我才能一把拿完。

如何营造这样的一个局面呢?显然,如果对手拿的时候只剩 4 颗石子,那么无论他怎么拿,总会剩下 1~3 颗石子,我就能赢。

如何逼迫对手面对 4 颗石子呢?要想办法,让我选择的时候还有 5~7 颗石子,这样的话我就有把握让对方不得不面对 4 颗石子。

如何营造 5~7 颗石子的局面呢?让对手面对 8 颗石子,无论他怎么拿,都会给我剩下 5~7 颗,我就能赢。

这样一直循环下去,我们发现只要踩到 4 的倍数,就落入了圈套,永远逃不出 4 的倍数,而且一定会输。

所以本题要尽量避开4的倍数。

3. 水桶问题

5L和6L的水桶怎么量出3L的水?

问:在水资源无限的情况下,5L和6L的水桶怎么量出3L的水?

解答:

  • 6L水桶装满水倒入5L水桶,余下1L水
  • 5L水桶倒空,将6L水桶中剩余的1L水倒入5L水桶
  • 6L水桶再次装满水倒入5L水桶,余下2L水
  • 5L水桶倒空, 将6L水桶中剩余2L水倒入5L水桶
  • 6L水桶再次装满水倒入5L水桶,余下3L水

3L和5L的水桶怎么量出4L的水?

问:在水资源无限的情况下,3L和5L的水桶怎么才能量取4L的水?

解答:

  • 初识时0,5
  • 然后3,2
  • 然后0,2
  • 然后2,5
  • 然后1,4

一个装了10L水的桶,一个7L的空桶还有一个3L的空桶

问:一个装了10L水的桶,一个7L的空桶,一个3L的空桶,怎样变成2个5L?

解答:

  • 初始时10,0,0;
  • 然后7,0,3;
  • 然后7,3,0;
  • 然后4,3,3;
  • 然后4,6,0;
  • 然后1,6,3;
  • 然后1,7,2;
  • 然后8,0,2;
  • 然后8,2,0;
  • 然后5,2,3;
  • 然后5,5,0

舀酒问题

问:据说有人给酒肆的老板娘出了一个难题:此人明明知道店里只有两个舀酒的勺子,分别能舀7两和11两酒,却硬要老板娘卖给他2两酒。聪明的老板娘毫不含糊,用这两个勺子在酒缸里舀酒,并倒来倒去,居然量出了2两酒,聪明的你能做到吗?

解答:

  • 初始0,11
  • 然后7,4
  • 然后0,4
  • 然后4,0
  • 然后4,11
  • 然后7,8
  • 然后0,8
  • 然后7,1
  • 然后0,1
  • 然后1,11
  • 然后7,5
  • 然后0,5
  • 然后5,0
  • 然后5,11
  • 然后7,9
  • 然后0,9
  • 然后7,2

4. 计时问题

漏斗计时

有一个能计时6分钟的小沙漏和一个能计时8分钟的大沙漏,如何计时10分钟?

解答:

  • 两个沙漏同时倒置开始计时,等小沙漏漏完,大沙漏还剩2分钟,这时倒置小沙漏继续计时;
  • 大沙漏漏完小沙漏还剩4分钟,再把大沙漏倒置继续计时;
  • 小沙漏漏完大沙漏还剩4分钟,这时准备工作已经完毕;
  • 等待大沙漏漏完(4分钟)+ 小沙漏(6分钟) = 10分钟。

烧绳子

问:烧一根绳子需要一个小时,现有两条相同的绳子,问如何计时15分钟?

解答:

  • 点燃绳子A的一头,同时点燃绳子B的两头;
  • 绳子B烧完的时候绳子A还剩一半,此时点燃绳子A的另一头开始计时;
  • 15分钟绳子A烧完。

蜡烛燃烧

问:两根蜡烛,燃烧完都需要1小时,问我们怎么确定15分钟是多久?

解答:

跟上题一样:

  • 点燃第一根的一端,第二根的两端。
  • 第二根烧完代表半小时后,点燃第一根另一端,烧完代表15分钟。

5. 赛马问题

25匹马5条跑道找最快的3匹马

问:25匹马5条跑道找最快的3匹马,最少需要跑几次?

解答:最少需要跑7次。

  • 将25匹马分成ABCDE5组,假设每组的排名就是A1>A2>A3>A4>A5, 这里比赛5次
  • 第6次,每组的第一名进行比赛,可以找出最快的马,这里假设A1>B1>C1>D1>E1, D1,E1肯定进不了前3,直接排除掉
  • 第7次,B1 C1 A2 B2 A3比赛,可以找出第二,第三名

img

64匹马8条跑道找最快的4匹马

问:64匹马8条跑道找最快的4匹马,最少需要跑几次?

解答:至少需要跑11次。

**第一步:**全部马分为8组,每组8匹,每组各跑一次,然后淘汰掉每组的后四名(需要比赛8场)

img

**第二步:**取每组第一名进行一次比赛,然后淘汰最后四名所在组的所有马,如下图(需要比赛1场)

img

这个时候总冠军已经诞生,它就是A1,蓝域(它不需要比赛了)。

而其他可能跑得最快的三匹马只可能是下图中的A2,A3,A4,B1,B2,B3,C1,C2,D1,共9匹马

img

**第三步:**只要从上面的9匹马中找出跑得最快的三匹马就可以了,但是现在只要8个跑道,怎么办? 那就随机选出8匹马进行一次比赛吧(需要比赛一场)

**第四步:**上面比赛完,选出了前三名,但是9匹马中还有一匹马没跑呢,它可能是一个潜力股啊,那就和前三名比一比吧,这四匹马比一场,选出前三名。最后加上总冠军,跑得最快的四匹马诞生了!!!(需要一场比赛)

最后,一共需要比赛的场次:8 + 1 + 1 + 1 = 11 场

6. 思维发散题:为什么井盖是圆的?

在这里插入图片描述

解答:

  • 原因1:圆井盖更容易搬运。

我们知道,井盖在生产出来后,需要运输到相应的位置,而且由于井盖比较重,所以在搬运的时候,非常费力气。井盖做成圆形后,在平坦的地方就可以滚着走,并且在调整井盖位置的时候,圆形的东西,更加容易翻滚。所以把井盖做成圆形更加容易搬运。

  • 原因2:圆井盖不易损坏,且节省材料

很多下水井都设置在马路上,井盖覆盖在下水井上面,通常要承受路面车辆和行人带来的压力。而汽车运行在公路上,压力非常大,井盖在设计以及用料上都要承受巨大的压力,才能保证安全。

当然井盖也有方的,从物理上的力学定律来看,圆形物体边缘受力均匀,比同等面积其它形状的物体更能承受压力,而且边缘不容易破损。所以我们现在看到圆形的井盖,其实有着很大的科学道理。

  • 原因3:井盖设计成圆形,更能和下水道契合。

同时,下水道使用的都是圆形的管道。这种圆形管道,更有利于污水通过,为了契合下水道的形状,所以井盖也设计成圆形。圆形井盖能完美地契合下水道,这有利于节约成本,提高下水道的使用效率。这也是通过长期科学验证得到的正确做法。

  • ……
遇见安然遇见你,不负代码不负卿。
谢谢老铁的时间,咱们下篇再见~

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/126359.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Windows搭建minio存储

minio功能类似以ftp 小白教程,一看就会,一做就成。 1.下载软件 https://dl.min.io/server/minio/release/windows-amd64/minio.exe 2.部署配置 我是在D盘下创建了minio目录 minio.exe是软件minio.log是日志(不用创建)minio900…

借钱正成为互联网一大坑,影响你的房贷,悄悄吞噬消费者

如今各个APP都可以给消费者提供贷款,由于网贷已坑了不少人,许多用户都选择了拒绝,不过APP的另一大坑却在悄悄影响消费者的征信,对消费者包括房贷在内的贷款产生影响。 互联网的这个坑就是先用后付功能,表面上各个APP以…

Node.js中的文件系统(file system)模块

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

GPT-4 Turbo 发布 | 大模型训练的新时代:超算互联网的调度与调优

★OpenAI;ChatGPT;Sam Altman;Assistance API;GPT4 Turbo;DALL-E 3;多模态交互;算力调度;算力调优;大模型训练;GH200;snowflake;AGI;A…

内存条选购注意事项(电脑,笔记本)

电脑内存条的作用、选购技巧以及注意事项详解 - 郝光明的个人空间 - OSCHINA - 中文开源技术交流社区 现在的电脑直接和内存条联系 电脑上的所有输入和输出都只能依靠内存条 现在买双条而不是单条 买两个相同的内存条最好 笔记本先分清是低电压还是标准电压,DD…

java多线程文件下载器

文章目录 1.简介2.文件下载的核心3.文件下载器的基础代码3.1 HttpURLConnection3.2 用户标识 4.下载信息4.1 计划任务4.2 ScheduledExecutorService🍀 schedule方法🍀 scheduleAtFixedRate方法🍀 scheduleWithFixedDelay方法 5.线程池简介5.1…

“隐身术”成现实,中科院院士现场表演

(图源:哔哩哔哩) 在“bilibili超级科学晚”活动现场,中国科学院院士褚君浩为我们揭示了“隐身术”的原理。原来,这种神奇的技能是一种科学手段。 褚君浩院士为大家介绍了一种名为“柱镜光栅”的特殊材料,柱…

Zotero拓展功能之Zotero Style

Zotero Style拓展功能 一、列: 1.简介 首先你必须知道Zotero的基本功能:右键任意一个列的名字,会弹出一个右键菜单,你可以勾选/取消勾选一个列,并且在最后有两个按钮,一个是“列设置”,一个是…

VS2015模块库交接出现环境报错 error MSB8031 和 error C1189

问题报错 1.错误 MSB8031 Building an MFC project for a non-Unicode character set is deprecated. You must change the project property to Unicode or download an additional library. 错误 MSB8031不赞成为非Unicode字符集生成MFC项目。您必须将项目属性更改为Unicode&…

数据公网传输加密隧道技术

参考: https://wenku.baidu.com/view/c2bfb9b4d6bbfd0a79563c1ec5da50e2524dd1a1.html?wkts1699578126402

【Linux基础IO篇】用户缓冲区、文件系统、以及软硬链接

【Linux基础IO篇】用户缓冲区、文件系统、以及软硬链接 目录 【Linux基础IO篇】用户缓冲区、文件系统、以及软硬链接深入理解用户缓冲区缓冲区刷新问题缓冲区存在的意义 File模拟实现C语言中文件标准库 文件系统认识磁盘对目录的理解 软硬链接软硬链接的删除文件的三个时间 作者…

【Excel】函数sumif范围中符合指定条件的值求和

SUMIF函数是Excel常用函数。使用 SUMIF 函数可以对报表范围中符合指定条件的值求和。 Excel中sumif函数的用法是根据指定条件对若干单元格、区域或引用求和。 sumif函数语法是:SUMIF(range,criteria,sum_range) sumif函数的参数如下&#xff…

安徽首届道医传承十八绝技发布会在合肥成功举办

近日,在安徽合肥举行了首届道医传承十八绝技发布会,本次会议由安徽渡罗门生物科技有限公司、北京道武易医文化传播有限公司、楼观台道医文化研究院联合举办。现场吸引了来自全国各地民族医学领域的专家学者参与讨论与交流。本次会议旨在促进道医的交流与…

OCR技术狂潮:揭秘最新发展现状,引爆未来智能时代

OCR(Optical Character Recognition,光学字符识别)技术自20世纪以来经历了长足的发展,随着计算机视觉、人工智能和深度学习等领域的进步,OCR技术在准确性、速度和适用范围上都取得了显著的进展。以下是OCR技术发展的现…

在gitlab中指定自定义 CI/CD 配置文件

文章目录 1. 介绍2. 配置操作3. 配置场景3.1 CI/CD 配置文件在当前项目step1:在当前项目中创建目录,编写流水线文件存放在该目录中step2:在当前项目中配置step3:运行流水线测试 3.2 CI/CD 配置文件位于外部站点上step1&#xff1a…

嵌入式养成计划-47----QT--基于QT的OpenCV库实现人脸识别功能

一百二十一、基于QT的OpenCV库实现人脸识别功能 121.1 UI 界面 登录按钮现在没啥实际作用,因为没加功能,可以添加在识别成功后运行的功能代码 121.2 思路 显示人脸: 通过 VideoCapture 这个类下面的 open() 方法打开摄像头,对…

进口猫罐头在排行榜中是否靠前?排行榜中靠前的猫罐头测评

养猫这6年,我对猫咪的日常饮食把关一直很严格。这些年我给我家猫们购买过很多不同品牌、不同口味的罐头,在猫罐头的挑选、分析上还是有一些经验的。今天,我将和大家一起探讨进口猫罐头在排行榜中是否靠前?同时,我将为大…

优化VMD全家桶!

↖加关注这种话银家怎么好意思说出口嘛-- 声明:对于作者的原创代码,禁止转售倒卖,违者必究! 本期对以往智能算法优化VMD的代码做一个总结。 代码目录 优化VMD全家桶!:https://mbd.pub/o/bread/ZZaVlp5xVMD为…

SAP CK51N销售订单取关联采购订单价格增强

需求fs 销售订单及行项目 enhancement 测试

微服务-我对Spring Clound的理解

官网:https://spring.io/projects/spring-cloud 官方说法:Spring Cloud 为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理、服务发现、熔断器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话…