在一些技术岗位的面试中,有的面试官会让应聘者手撕代码,也有的面试官还会出智力题。所谓智力题,就是给定一种场景让你来找出最佳解决方案的一类题目,它其实和脑筋急转弯不一样,考察的是应聘者的思维逻辑能力,有的智力题可能还需要不断得假设推理。如果没有做过类似的题目,解题的思路不容易被发现,所以这类题还需要多看看,多总结,以下列举的都是高频的题目
称球问题
问题描述:
一共12个一样的小球, 其中只有一个重量与其它不一样(未知轻重),给你一个天平,找出那个不同重量的球?
解答思路:
将球编号1~12,分为1-4,5-8,9-12三堆,具体称重方式如下:
第一次称重方式为左1-4-右5-8,若平衡,坏球在9-12,然后第二次称重方式为左1-3-右9-11即可判断出来。若第一次不平衡且5-8重,坏球1-8,采用如下方式继续称量:称量为左1,6,7,8-右5,9,10,11,如果右重则坏球是1或5,如果平衡则坏球为2-4且比标准球轻,如果左重则坏球在拿到左边的6-8且比标准球重,这样通过一次称重即可。如果第一次不平衡且1-4重,和上述情况一样。这类题需要先找到标准球,根据标准球来判断重量不同的球。
分金条问题
问题描述:
你让某些人为你工作了七天, 你要用一根金条作为报酬。这根金条要被分成七块。你必须在每天的活干完后交给他们一块。如果你只能将这根金条切割两次,你怎样给这些工人分(另一种问法就是怎么用最少的切割次数来分)?
解答思路:
由于金条可以均分,所以最少切割次数就是两次,将金条分为长度为1,2,4的三段(假设金条长度为7),然后七天的分发策略如下:
1.第一天把长度为1的给工人
2.第二天把长度为2的给工人,工人需要找回长度为1的金条
3.第三天把长度为1的给工人
4.第四天把长度为4的给工人,工人需要找回长度为1,2的金条
5.第五天把长度为1的给工人
6.第六天把长度为2的给工人,工人需要找回长度为1的金条
7.第七天把长度为1的给工人
时钟相遇问题
问题描述:
一昼夜时钟上的时针和分针重合多少次(或者分针和秒针重合多少次),起点从0点开始
解答思路:
起点分两种情况:两个指针重合,两个指针不重合。
(1)两个指针起点重合
由于起点重合,所以初始情况下有1次,然后列举所有情况(其实看出规律很简单,每两个时刻之间都会重合)
1点-2点之间会重合一次
2点-3点之间会重合一次
3点-4点之间会重合一次
4点-5点之间会重合一次
5点-6点之间会重合一次
6点-7点之间会重合一次
7点-8点之间会重合一次
8点-9点之间会重合一次
9点-10点之间会重合一次
10-11点之间会重合一次
以此类推…
到最后的时候要注意当天最后一个时刻时针和分针都在12这个位置,但这个时间应该是第二天的起点,所以应该不算在内,
因此这种情况下总共有23次重合
(2)两个指针起点不重合
由于起点不重合,因此初始情况下重合次数为0,而且(12)0-1之间也不会重合,因此这种情况下比第一种少一次,有22次重合
猴子搬香蕉问题
问题描述:
一个小猴子边上有100根香蕉,它要走过50米才能到家,每次它最多搬50根香蕉,每走1米就要吃掉一根,请问它最多能把多少根香蕉搬到家里。
解答思路:
设小猴从0走到50,到A点时候他可以直接抱香蕉回家了,可是到A点时候他至少消耗了3A的香蕉(到A,回0,到A),一个限制就是小猴只能抱50只香蕉,那么在A点小猴最多49只香蕉.100-3A=49,所以A=17. 这样折腾完到家的时候香蕉剩100-3A-(50-A)=50-2A=16.
烧香问题
问题描述:
有两根不均匀分布的香,香烧完的时间是一个小时,你能用什么方法来确定一段15分钟的时间?
解答思路:
先点燃一根香的一端,同时点燃另一根香的两端,当两端点燃的香燃尽时,便是半小时的时间;在两端点燃的香燃尽时,点燃剩下那根香的另外一端,这样,从剩下那根香的另一端开始点燃,到最终燃尽,便是15分钟的时间。
毒药问题
问题描述:
7只老鼠,一百瓶药水,其中有一瓶是毒药,毒发时间为一天,使用一天时间检测出毒药?
解答思路:
对100瓶毒药进行编号并且用二进制表示,依次可表示为0000001,0000010,…,,1100100。同时对老鼠进行编号分别为01,02,03,04,05,06,07,每只老鼠喝一种编码格式的药水
01喝二进制编码为1xxxxxx的药水
02喝二进制编码为x1xxxxx的药水
03喝二进制编码为xx1xxxx的药水
04喝二进制编码为xxx1xxx的药水
05喝二进制编码为xxxx1xx的药水
06喝二进制编码为xxxxx1x的药水
07喝二进制编码为xxxxxx1的药水
由于每个老鼠喝特定编码格式的药水,最后观察哪几只老鼠死亡,并且把相应编码格式的位1结合,就可以找出来。例如06,07老鼠死亡,这说明序号为0000011的药水有毒
水桶装水
问题描述:
如何用3升和5升桶量取4升水?
解答思路:
先把5升的桶装满水,倒进3升的桶中,再把3升桶中的水倒掉,然后把5升桶里剩余的水倒进3升桶中,最后把5升的桶再次装满水,倒进3升桶中,直到3升桶中装满书,此时5升桶中剩余4升水。
找变质药
问题描述:
有10瓶药,每瓶有10粒药,其中有一瓶是变质的。好药每颗重1克,变质的药每颗比好药重0.1克。问怎样用天秤称一次找出变质的那瓶药?
解答思路:
先将这十瓶药由一到十按顺序排好,或在瓶上贴上数字,然后在一号瓶上拿出一粒药,二号拿两粒,如此类推,十号拿十粒。总共是五十五颗药。再将这些药一次称。多出的量,那个数字就代表哪个瓶,而那瓶药就是变质的药,比如称出的重量是五十五点二,那么第二瓶药就是变质的。
提灯过桥问题
问题描述:
小明一家过一座桥,过桥时是黑夜,所以必须有灯。现在小明过桥要1秒,小明的弟弟要3秒,小明的爸爸要6秒,小明的妈妈要8秒,小明的爷爷要12秒。每次此桥最多可过两人,而过桥的速度依过桥最慢者而定,而且灯在点燃后30秒就会熄灭。问:小明一家如何过桥?
解答思路:
1.小明和小明弟弟过桥,需要花费3秒(小明弟弟慢,花3秒),计T1 = 3秒,总用时TC=3秒;
2.小明回来,需要花费1秒,记T2=1秒,总用时TC=4秒;
3.小明爷爷和小明妈妈一起过桥,需要花费12秒,记T3=12,总用时TC=16秒;
4.小明弟弟回来,需要花费3秒,记T4=3秒,总用时TC=19秒;
5.小明和小明爸爸一起过桥,需要花费6秒,记T5=6秒,总用时TC=25秒;
6.小明回来,需要花费1秒,记T6=1秒,总用时TC=26秒;
7.小明和小明弟弟一起过桥,需要花费3秒,记T7=3秒,总用时TC=29秒;
年龄问题
问题描述:
一普查员问一女人,“你有多少个孩子,他們多少岁?”女人回答:“我有三個孩子,他们的岁数相乘是36,岁数相加就等于隔壁的门牌号码.”普查员立刻走到隔壁,看了一看,回来说:”我还需要多少资料.”女人回答:“我现在很忙,我最大的孩子正在楼上睡觉.”普查员說:”谢谢,我己知道了。问题:那三个孩子的岁数是多少。
解答思路:
设三个人的年龄组成自然数组合(x,y,z),一共三个条件,条件一:三个人岁数乘起来为36;选出满足xyz=36的组合;条件二:知道三个人岁数之和后还是不能确定它们的年龄;从上面的到的组合中找出xyz之和有相同的组合;只有 (9,2,2)=13,(6,6,1)=13;条件三:三个孩子中有一个年龄比其他两个大。符合条件的组合只有(9,2,2)
硬币游戏
问题描述:
16个硬币,A和B轮流拿走一些,每次拿走的个数只能是1,2,4中的一个数。谁最后拿硬币谁输。问:A或B有无策略保证自己赢?
解答思路:
剩2个时,取1个必胜;
剩3个时,取2个必胜;
剩4个时,如果对手足够聪明则必败;
剩5个时,去1个必胜.记作 2(1) 3(2) 4(x) 5(1) 6(2) 7(x) 8(1) …
从中找出规律:
当剩余个数K=3N-2,N为自然数时,只要对手足够聪明则必败.
当K=3N-1时,有必胜策略: 取1个;
当K=3N时,有必胜策略:取2个;
所以,当16个时,后取者有必胜策略.
飞机加油问题
问题描述:
每个飞机只有一个油箱, 飞机之间可以相互加油(注意是相互,没有加油机) 一箱油可供一架飞机绕地球飞半圈。为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机?(所有飞机从同一机场起飞,而且必须安全返回机场,不允许中途降落,中间没有飞机场)
解答思路:
至少需要出动5 架飞机。思路是这样的,一架飞机要想完成绕地球一周的飞行,至少需要别的飞机给它提供1 箱油。最划算的办法显然是,派飞机和它结伴飞行前四分之一周以及后四分之一周,(因为这两段路程距离基地近所花代价小。)由它独立飞行中间的半程。必须保证两个加油点,前四分之一处,加满,后四分之一点,及时补充。那么必须有两架飞机与目标机结伴飞行四分之一周,这两架飞机需要做折返飞行,正好花费2 箱油。所以补充油的任务实际上该由另外两架飞机完成。这两架飞机飞八分之一周,做折返飞,正好富余1 箱油。因此,5 架飞机刚好完成任务。到了此时,问题只考虑了一半。能够提供多少油并不意味着就能够全部接受,受到结伴飞行的距离,即腾出的油箱空间所限制。而以下做法正好可以满足此条件。3 架飞机同时从机场出发,飞行八分之一周,各耗油四分之一。此时某架飞机给其余两架补满油,自己返回基地。另一机和目标机结伴,飞至四分之一周,给目标机补满油,自己返回。目标机独自飞行半周,与从基地反向出发的一机相遇,2 机将油平分,飞至最后八分之一处,与从基地反向出发的另一机相遇,各分四分之一油,返回。
帽子/问题
问题描述:
一群人开舞会,每人头上都戴着一顶帽子。帽子只有黑白两种,黑的至少有一顶。每个人都能看到其他人帽子的颜色,却不知自己的。主持人先让大家看看别人头上戴的什么帽子,然后关灯,如果有人认为自己戴的是黑帽子,就打自己一个耳光。第一次关灯,没有声音。于是再开灯,大家再看一遍,关灯时仍然鸦雀无声。一直到第三次关灯,才有劈劈啪啪打耳光的声音响起。问有多少人戴着黑帽子?
解答思路:
假如只有一个人戴黑帽子,那他看到所有人都戴白帽,在第一次关灯时就应自打耳光,所以应该不止一个人戴黑帽子;如果有两顶黑帽子,第一次两人都只看到对方头上的黑帽子,不敢确定自己的颜色,但到第二次关灯,这两人应该明白,如果自己戴着白帽,那对方早在上一次就应打耳光了,因此自己戴的也是黑帽子―――于是也会有耳光响起;可事实是第三次才响起耳光声,说明全场不止两顶黑帽,依此类推,应该是关几次灯,有几顶黑帽。
倒酒问题
问题描述:
有三个酒杯,其中两个大酒杯每个可以装8两酒,一个可以装3两酒。现在两个大酒杯都装满了酒,只用这三个杯子怎么把酒平均的分给4个人喝?
解答思路:
用一个三位数表示三个杯,880,前两个为8升的杯最后一个3升。开始:880_853A喝掉3升变为:850_823_B喝掉2升为:803_830_533_560_263_281A喝掉1升(A已经喝4升完毕)为:280_253_550_523_820_802_703_730_433_460_163_181CD各喝一升为:080_053_350_323CD各喝3升B喝2升,分水结束,ABCD四人各喝4升。
海盗分金问题
问题描述:
传说,从前有五个海盗抢得了100枚金币.他们通过了一个如何确定选用谁的分配方案的安排.即:
1.抽签决定各人的号码(1,2,3,4,5);
2.先由1号提出分配方案,然后5个人表决.当且仅当超过半数人同意时,方案才算被通过,否则他将被扔入大海喂鲨鱼;
3.当1号死后,再由2号提方案,4个人表决,当且仅当超过半数同意时,方案才算通过,否则2号同样将被扔入大海喂鲨鱼;
4.往下依次类推……
根据上面的这个故事,现在提出如下的一个问题.即:我们假定每个海盗都是很聪明的人,并且都能够很理智地判断自己的得失,从而做出最佳的选择,那么第一个海盗应当提出怎样的分配方案才能够使自己不被扔入大海喂鲨鱼,而且收益还能达到最大化呢?
解答思路:
倒推,从后往前推,人数依次增加
如果1-3号强盗都喂了鲨鱼,只剩4号和5号的话,5号一定投反对票让4号喂鲨鱼,以独吞全部金币。所以,4号惟有支持3号才能保命。3号知道这一点,就会提(100,0,0)的分配方案,对4号、5号一毛不拔而将全部金币归为已有,因为他知道4号一无所获但还是会投赞成票,再加上自己一票,他的方案即可通过。
2号推知到3号的方案,就会提出(98,0,1,1)的方案,即放弃3号,而给予4号和5号各一枚金币。由于该方案对于4号和5号来说比在3号分配时更为有利,他们将支持他而不希望他出局而由3号来分配。这样,2号将拿走98枚金币。
2号的方案会被1号所洞悉,1号并将提出(97,0,1,2,0)或(97,0,1,0,2)的方案,即放弃2号,而给3号一枚金币,同时给4号(或5号)2枚金币。由于1号的这一方案对于3号和4号(或5号)来说,相比2号分配时更优,他们将投1号的赞成票,再加上1号自己的票,1号的方案可获通过,97枚金币可轻松落入囊中。这无疑是1号能够获取最大收益的方案了!
开灯问题
问题描述:
一个房间里面有三盏灯,外面有三个开关,只进去一次怎么确定哪个开关对应那盏灯?
解答思路:
先打开两个开关,等一段时间,关上其中一个,马上进屋观察。打开的灯对应打开的开关;剩下的用手摸,热的对应刚刚关闭的;凉的对应始终没打开的。
生日问题
问题描述:
49个人中至少几个人生日是同一月?
解答思路:
一年有12个月,那么49个人最后至少有49/12+1=5个人出生月份相同。
抛硬币问题
问题描述:
一枚正反概率不一样的硬币,如何当一枚正常的硬币来用(正反概率相同)?
解答思路:
连续抛两次硬币,正反面的出现有四种情况,概率依次为:
两次均为正面:p * p
第一次正面,第二次反面:p * (1 - p)
第一次反面,第二次正面:(1 - p) * p
两次均为反面:(1 - p) * (1 - p)
中间两种情况的概率是完全一样的。于是问题的解法就是连续抛两次硬币,如果两次得到的相同则重新抛两次;否则根据第一次(或第二次)的正面反面情况,就可以得到两个概率相等的事件。