面試常見智力題
在一些技術崗位的面試中,有的面試官會讓應聘者手撕代碼,也有的面試官還會出智力題,所謂智力題,就是給定一種場景讓你來找出最佳解決方案的一類題目,它其實和腦筋急轉彎不一樣,考察的是應聘者的思維邏輯能力,有的智力題可能還需要不斷得假設推理,如果沒有做過類似的題目,解題的思路不容易被發現,所以這類題還需要多看看,多總結,以下列舉的都是高頻的題目
稱球問題
問題描述:
一共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)
中間兩種情況的概率是完全一樣的,于是問題的解法就是連續拋兩次硬幣,如果兩次得到的相同則重新拋兩次;否則根據第一次(或第二次)的正面反面情況,就可以得到兩個概率相等的事件,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/1489.html
標籤:區塊鏈
上一篇:Codeforces Round #668 (Div. 2)D. Tree Tag(樹形DP樹的直徑 + 博弈論)
下一篇:騰訊2021批筆試題解
