前言 大家好,我是鬼仔,一名互聯(lián)網(wǎng)算法工程師。最近各大公司的提前批已經(jīng)逐漸開始了,同學(xué)們除了常規(guī)刷題之外,也需要為面試有針對(duì)性地進(jìn)行復(fù)習(xí)。無論你是技術(shù)崗,還是非技術(shù)崗,面試的時(shí)候往往會(huì)遇到一種特殊的題型:智力題。 智力題有點(diǎn)類似于腦筋急轉(zhuǎn)彎,面試官主要是想考察候選人的思維靈活性。鬼仔剛開始接觸智力題的時(shí)候 ,可以說是一臉懵逼了,大腦一片空白,內(nèi)心:這都是在說些啥? 最后還是得靠刷題的思想來解決智力題,其實(shí)面試常見的智力題類型并不多,很多都是類似的變種題。今天鬼仔整理了一些經(jīng)典智力題,準(zhǔn)備提前批的你一定不要錯(cuò)過! 同學(xué)們只要掌握了鬼仔整理的這些智力題解答思路,以后面試再遇到智力題,一定可以嘎嘎亂殺,如果不能那你過來把鬼仔的頭打歪。 PS:關(guān)注鬼仔,后臺(tái)回復(fù):智力題,即可得到PDF版! 1. 分金條問題 ● 問題: 你讓工人為你工作7天,回報(bào)是一根金條,這個(gè)金條平分成相連的7段,你必須在每天結(jié)束的時(shí)候給他們一段金條。如果只允許你兩次把金條弄斷,你如何給你的工人付費(fèi)? ● 解答:切兩刀,分為1/7、2/7、4/7三段。
2. 飛鳥問題 ● 問題:有一輛火車以每小時(shí) 15 公里的速度離開北京直奔廣州,同時(shí)另一輛火車每小時(shí) 20 公里的速度從廣州開往北京。如果有一只鳥,以 30 公里每小時(shí)的速度和兩輛火車同時(shí)啟動(dòng),從北京出發(fā),碰到另一輛車后就向相反的方向返回去飛,就這樣依次在兩輛火車之間來回地飛,直到兩輛火車相遇。請(qǐng)問,這只鳥共飛行了多長的距離? ● 分析:鳥在火車相遇前一直在飛,所以不論它如何往返,鳥飛的距離就是其速度乘時(shí)間,而時(shí)間則是用兩列火車相遇的時(shí)間。設(shè)北京到廣州的距離為 D,那么火車相遇時(shí)間是:D / (15 20),由此可得鳥飛的距離是:30 * 時(shí)間 = 30/35 * D。 ● 解答:北京到廣州距離的 30/35 3. 藥丸問題 ● 問題:你有四個(gè)裝藥丸的罐子,每個(gè)藥丸都有一定的重量,被污染的藥丸是沒被污染的藥丸的重量 1。只稱量一次,如何判斷哪個(gè)罐子的藥被污染了? ● 解答:設(shè)未被污染的每個(gè)藥丸的重量是x,則被污染的每個(gè)藥丸的重量是x 1。將4個(gè)罐子分別標(biāo)注為1,2、3、4,取一號(hào)罐子1個(gè)藥丸,二號(hào)罐子2個(gè)藥丸,三號(hào)罐子3個(gè)藥丸,四號(hào)罐子4個(gè)藥丸,一起稱重。則:
即稱得的重量是10X t,t是幾就是第幾個(gè)罐子污染了。 4. 開關(guān)問題 ● 問題:門外三個(gè)開關(guān)分別對(duì)應(yīng)室內(nèi)三盞燈,線路良好,在門外控制開關(guān)時(shí)候不能看到室內(nèi)燈的情況,現(xiàn)在只允許進(jìn)門一次,確定開關(guān)和燈的對(duì)應(yīng)關(guān)系? ● 解答:設(shè)三個(gè)開關(guān)是1、2、3。打開開關(guān)1等半個(gè)小時(shí),關(guān)上開關(guān)1并打開開關(guān)2。進(jìn)房后去摸燈泡,熱的是開關(guān)1對(duì)應(yīng)的燈泡;亮的是開關(guān)2對(duì)應(yīng)的燈泡;不亮不熱的是開關(guān)3對(duì)應(yīng)的燈泡。 5. 人民幣問題 ● 問題:人民幣為什么只有1、2、5、10的面值? ● 解答:可以用三張以內(nèi)組成任何面額。 6. 燒繩計(jì)時(shí)問題 ● 問題: 燒一根不均勻的繩,從頭燒到尾總共需要1個(gè)小時(shí)?,F(xiàn)在有若干條材質(zhì)相同的繩子,問如何用燒繩的方法來計(jì)時(shí)一個(gè)小時(shí)十五分鐘呢? ● 解答: 1) 先把1根繩子從兩頭點(diǎn)燃,燃燒完畢后剛好30分鐘。 2) 在第1根繩子點(diǎn)燃的同時(shí),從一頭點(diǎn)燃第2根,那么在第1根然后完畢后(30分鐘),再把第2根繩子未點(diǎn)燃的那一頭點(diǎn)燃,燃燒完畢后用去了45分鐘(30 15)。 在第2根繩子燃燒完畢后,從兩頭點(diǎn)燃第3根繩子,等第3根燃燒完畢后,剛好1小時(shí)15分鐘(45 30)。 7. 果凍問題 ● 問題:你有一桶果凍,其中有紅色、綠色、藍(lán)色三種,閉上眼睛抓取同種顏色的兩個(gè)。抓取多少個(gè)就可以確定你肯定有兩個(gè)同一顏色的果凍? ● 解答:4個(gè) 8. 量水問題 ● 問題:如果你有無窮多的水,一個(gè)3公升的提捅,一個(gè)5公升的提捅,兩只提捅形狀上下都不均勻,問你如何才能準(zhǔn)確稱出4公升的水? ● 分析:這個(gè)題目等價(jià)于:已知兩個(gè)數(shù)3和5,可用運(yùn)算符 和-,要求 和-號(hào)的一端必須是3或5,并且中間結(jié)果不能大于5,列出一個(gè)結(jié)果等于4的表達(dá)式。 ● 解答:
1)用5升桶滿桶,倒入3升桶中,倒?jié)M后大桶里剩2升; 2)把3升桶倒空,把那2升倒入3升桶中; 3)用5升桶滿桶再向3升里倒,倒入一升就滿,大桶里剩下的是4 升。
1)兩次將3升桶滿桶,倒入5升桶中,倒?jié)M后3升桶中剩1升; 2)將5升桶倒空,把3升桶中的1升倒入5升桶中; 3)將3升桶滿桶倒入5升桶中?,F(xiàn)在5升桶中包含4升。 9. 誠實(shí)國和說謊國問題 ● 問題:一個(gè)岔路口分別通向誠實(shí)國和說謊國。來了兩個(gè)人,已知一個(gè)是誠實(shí)國的,另一個(gè)是說謊國的。誠實(shí)國永遠(yuǎn)說實(shí)話,說謊國永遠(yuǎn)說謊話。現(xiàn)在你要去說謊國,但不知道應(yīng)該走哪條路,需要問這兩個(gè)人。請(qǐng)問應(yīng)該怎么問? ● 分析:如果問 “哪邊是誠實(shí)國?” 或者 “哪邊是說謊國?” 這樣的問題,由于正確答案只有固定的一邊,所以兩個(gè)人給出的答案必定不同。所以只能問對(duì)每個(gè)人有不同正確答案的問題,比如“你的國家在哪邊?”或者“他的國家在哪邊”。對(duì)應(yīng)著兩個(gè)問題,誠實(shí)國的人會(huì)給出誠實(shí)國方向和說謊國方向,說謊國的人也會(huì)給出誠實(shí)國和說謊國方向。這樣我們就可以判斷哪邊是誠實(shí)國,哪邊是說謊國了。 ● 解答:問 你的國家怎么走? 他們都會(huì)指向誠實(shí)國,則走另一條路即可。 10. 4人過橋問題 ● 問題:4 個(gè)人晚上要穿過一座索橋回到他們的營地??上麄兪稚现挥幸恢е荒茉賵?jiān)持17分鐘的手電筒。通過索橋必須要拿著手電,而且索橋每次只能撐得起兩個(gè)人的份量。這四個(gè)人過索橋的速度都不一樣,第一個(gè)走過索橋需要1分鐘,第二個(gè)2分鐘,第三個(gè)5分鐘,最慢的那個(gè)要10分鐘。他們?cè)鯓硬拍茉?7分鐘內(nèi)全部走過索橋? ● 分析: ● 解答:總共花時(shí) 2 1 10 2 2 = 17 分鐘。 11. 拿硬幣問題 ● 問題:16個(gè)硬幣,A和B輪流拿走一些,每次拿走的個(gè)數(shù)只能是1,2,4中的一個(gè)數(shù)。誰最后拿硬幣誰輸。請(qǐng)問:A或B有無策略保證自己贏? ● 解答:B可以保證自己贏。
12. 辯論賽問題 ● 問題:1000個(gè)人參加辯論賽,1對(duì)1進(jìn)行辯論,淘汰輸?shù)舻囊环?,問需要安排多少?chǎng)比賽才能角出冠軍? ● 解答:每場(chǎng)辯論賽只能淘汰一個(gè)人,要淘汰999個(gè)人則需要安排999場(chǎng)比賽。 13. 火車運(yùn)煤問題 ● 問題:你是山西的一個(gè)煤老板,你在礦區(qū)開采了有 3000 噸煤需要運(yùn)送到市場(chǎng)上去賣,從你的礦區(qū)到市場(chǎng)有1000公里,你手里有一列燒煤的火車,這個(gè)火車最多只能裝1000噸煤,且其能耗比較大,每一公里需要耗一噸煤。請(qǐng)問,怎么運(yùn)送才能運(yùn)最多的煤到集市? ● 解答: 1)裝 1000 噸煤,走 250 公里,扔下 500 噸煤,回礦山; 2)裝 1000 噸煤,走到 250 公里處,拿起 250 噸煤繼續(xù)向前到 500 公里處,扔下 500 噸煤,回礦山。此時(shí)火車上還有 250 噸,再加上在 250 公里處還有 250 噸煤,所以,火車是可以回礦山的; 3)裝上最后 1000 噸煤,走到 500 公里處,裝上那里的 500 噸煤,然后一直走到目的; 由此,最多可以運(yùn)送 500 噸煤到市場(chǎng)(當(dāng)然,火車也回不去了,因?yàn)槟堑V山?jīng)]有煤了)。 14. 旅館的1元錢問題 ● 問題:有三個(gè)人去住旅館,住三間房,每一間房10元,于是他們一共付給老板30,第二天,老板覺得三間房只需要25元就夠了,于是叫小弟退回5元給三位客人,誰知小弟貪心,只退回每人1元,自己偷偷拿了2元,這樣以來便等于那三位客人每人各花了9元,于是三個(gè)人一共花了27元,再加上小弟獨(dú)吞了2元,總共是29元.可是當(dāng)初他們?nèi)齻€(gè)人一共付出30元,那么還有1元呢? ● 解答:這道題其實(shí)偷換了概念,他們所消費(fèi)的27元里已經(jīng)包括小弟貪污的2元了,再加退還的3元=30元。這30元的分布是:老板拿了25元,小弟拿了2元,三人各拿了1元。 15. 老虎吃羊問題 ● 問題:在島上有100只老虎和1只羊,老虎可以吃草,但他們更愿意吃羊。如果每次只有一只老虎可以吃羊,而且一旦他吃了羊,他自己就變成羊;而且所有的老虎都是聰明而且完全理性的,他們的第一要?jiǎng)?wù)是生存。請(qǐng)問最后這只羊會(huì)不會(huì)被吃?如果是n只老虎和一只羊呢? ● 解答:
16. 假錢虧損問題 ● 問題:王小姐是賣鞋的,一雙鞋進(jìn)貨價(jià)45元,甩賣30元。顧客來買兩雙鞋給了一張100元,王小姐沒有零錢,于是找了鄰鋪兌換了100元零錢,找給顧客40元。事后鄰鋪發(fā)現(xiàn)錢是假的,王小姐無奈又賠了鄰鋪100元。請(qǐng)問,王小姐一共虧了多少元? ● 解答:虧130 元
1)假定王小姐一開始有 200 元,進(jìn)了 2 雙鞋,45 * 2 = 90 此時(shí)她還剩 200 - 90 = 110; 2)現(xiàn)在王小姐把鞋以 30 元一雙的價(jià)格甩賣,2 雙賣出后進(jìn)賬 30 * 2 = 60; 3)王小姐沒有零錢,用 100 換了鄰居 100,錢數(shù)沒有變化,此時(shí)王小姐手中有 110 60 = 170; 4)這時(shí)鄰居發(fā)現(xiàn)錢是假的,王小姐賠給鄰居 100 元,此時(shí)王小姐手中錢數(shù)為 170 - 100 = 70; 5)王小姐手中一開始有 200,最后剩 70,賠了 200 - 70 = 130; 6)所以得出,王小姐虧了 130 元 。
1)王小姐收到一張 100 元假鈔 (沒得沒失,所以是 0 ); 2)王小姐把 100 元假鈔給鄰居,換回 100 元真鈔 (假鈔換真鈔,得到了 100 ); 3)王小姐把 2 雙 90 元成本的鞋還有 40 元找零給了顧客 (失去了 90 40 = 130 元); 4)王小姐被鄰居發(fā)現(xiàn)那張一百是假的,于是只得賠給鄰居 100 元 (失去了 100 元,先前用假鈔換來的); 5)所以王小姐最終虧了 130 元。
1)換錢的鄰鋪并沒有賺錢,也沒賠錢; 2)使假幣的顧客相當(dāng)于沒花錢得到 2 雙鞋(45 * 2 = 90)加上 40 元真幣,所以相當(dāng)于賺了 130 元; 3)所以最終是王小姐虧了 130 元。 17. 賽馬問題 ● 問題:25 匹馬,每匹馬的速度都不一樣。因?yàn)橹挥?5 條跑道,所以一次競(jìng)賽只能跑 5 匹馬,問最少需要多少次競(jìng)賽才能找到最快的 3 匹馬? ● 分析:
● 解答:至少需要7次。 18. 九點(diǎn)連十線問題 ● 問題:在9個(gè)點(diǎn)上畫10條直線,要求每條直線上至少有三個(gè)點(diǎn)? ● 解答:
19. 移動(dòng)竹簽問題 ● 問題:如下圖,只能移動(dòng)兩根竹簽,而且形狀不能改變,把圍住的雞蛋給移出來。(來自《少年包青天第一部》,第13集2分40秒 包拯到雜貨店里買米,店老板出的題。) ● 解答:
20. 掰巧克力問題 ● 問題:一塊N*M大小的巧克力,每次掰一塊的一行或一列,全部掰成1*1大小的巧克力需要掰多少次? ● 解答:N*M-1次。因?yàn)椴还茉趺搓?,每次只能把一個(gè)大塊掰成兩個(gè)小塊,即每次掰只能增加1塊巧克力;那么將1塊巧克力掰成N*M塊小巧克力就需要掰N*M-1次。 21. 分蛋糕問題 ● 問題:請(qǐng)把一盒蛋糕切成8份,分給8個(gè)人,但蛋糕盒里還必須留有一份。 ● 解答:把切成的8份蛋糕先拿出7份分給7人,剩下的1份連蛋糕盒一起分給第8個(gè)人。 22. 時(shí)針分針秒針重合問題 ● 問題:在24小時(shí)里面時(shí)針分針秒針可以重合幾次? ● 解答:24小時(shí)中時(shí)針走2圈,而分針走24圈,時(shí)針和分針重合24-2=22次,而只要時(shí)針和分針重合,秒針一定有機(jī)會(huì)重合,所以總共重合22次。 23. 箱子開鎖問題 ● 問題:A、B兩人分別在兩座島上。B生病了,A有B所需要的藥。C有一艘小船和一個(gè)可以上鎖的箱子。C愿意在A和B之間運(yùn)東西,但東西只能放在箱子里。只要箱子沒被上鎖,C都會(huì)偷走箱子里的東西,不管箱子里有什么。如果A和B各自有一把鎖和只能開自己那把鎖的鑰匙,A應(yīng)該如何把東西安全遞交給B? ● 解答: 1)A 把藥放進(jìn)箱子,用自己的鎖把箱子鎖上; 2)B 拿到箱子后,再在箱子上加一把自己的鎖; 3)箱子運(yùn)回 A 后,A 取下自己的鎖; 4) 箱子再運(yùn)到 B 手中時(shí),B 取下自己的鎖,獲得藥物。 24. 沙漏計(jì)時(shí)問題 ● 問題:有一個(gè)能計(jì)時(shí)6分鐘的小沙漏和一個(gè)能計(jì)時(shí)8分鐘的大沙漏,如何計(jì)時(shí)10分鐘? ● 解答: 1)兩個(gè)沙漏同時(shí)倒置開始計(jì)時(shí),等小沙漏漏完,大沙漏還剩2分鐘,這時(shí)倒置小沙漏繼續(xù)計(jì)時(shí); 2)大沙漏漏完小沙漏還剩4分鐘,再把大沙漏倒置繼續(xù)計(jì)時(shí); 3)小沙漏漏完大沙漏還剩4分鐘,這時(shí)準(zhǔn)備工作已經(jīng)完畢; 4)等待大沙漏漏完(4分鐘) 小沙漏(6分鐘)=10分鐘。 25. 人鬼過橋問題 ● 問題:有三個(gè)人跟三個(gè)鬼要過河,河上沒橋只有條小船,然后船一次只能渡一個(gè)人和一個(gè)鬼,或者兩個(gè)鬼和兩個(gè)人,無論在哪邊岸上,只有是人比鬼少的情況下(如兩鬼一人,三鬼兩人,三鬼一人),人會(huì)被鬼吃掉,然而船有一定需要人或鬼操作才能航行(要有人或鬼劃船),問,如何安全的把三人三鬼渡過河對(duì)岸? ● 解答: 1)先兩鬼過去,再一鬼回來。此時(shí),對(duì)面有一鬼,這邊有三人兩鬼; 2)再兩鬼過去,再一鬼回來。此時(shí)對(duì)面有兩鬼,這邊有三人一鬼; 3)再兩人過去,一人一鬼回來。此時(shí),對(duì)面一人一鬼。這邊兩人兩鬼; 4)最后兩人過去,一鬼回來。此時(shí),對(duì)面三人,這邊三鬼; 5)剩下的就三個(gè)鬼,兩個(gè)過去,一個(gè)回來再接另外一個(gè)鬼就結(jié)束了。 26. 毒藥問題 ● 問題:有1000個(gè)一模一樣的瓶子,其中有999瓶是普通的水,有1瓶是毒藥。任何喝下毒藥的生命都會(huì)在一星期之后死亡?,F(xiàn)在你只有10只小白鼠和1個(gè)星期的時(shí)間,如何檢驗(yàn)出哪個(gè)瓶子有毒藥? ● 解答:將1000個(gè)瓶子從 0 到 999 依次按照十進(jìn)制編號(hào),之后根據(jù)十進(jìn)制編號(hào),轉(zhuǎn)換為對(duì)應(yīng)的2進(jìn)制,比如:512(十進(jìn)制)—> 1000000000(二進(jìn)制),一共10位數(shù)的二進(jìn)制,剛好對(duì)應(yīng)10只老鼠。
一星期后,
以此類推, 27. 吃藥片問題 ● 問題:某種藥方要求非常嚴(yán)格,你每天需要同時(shí)服用A、B兩種藥片各一顆,不能多也不能少。這種藥非常貴,你不希望有任何一點(diǎn)的浪費(fèi)。一天,你打開裝藥片A的藥瓶,倒出一粒藥片放在手心;然后打開另一個(gè)藥瓶,但不小心倒出了兩粒藥片?,F(xiàn)在,你手心上有一顆藥片A,兩顆藥片B,并且你無法區(qū)別哪個(gè)是A,哪個(gè)是B。你如何才能嚴(yán)格遵循藥方服用藥片,并且不能有任何的浪費(fèi)? ● 解答:
28. 火槍手決斗,誰活下來的概率大? ● 問題:彼此痛恨的甲、乙、丙三個(gè)搶手準(zhǔn)備決斗。甲槍法最好,十發(fā)八中;乙槍法次之,十發(fā)六中;丙槍法最差,十發(fā)四中。如果三人同時(shí)開槍,并且每人每輪只發(fā)一槍;那么槍戰(zhàn)后,誰活下來的機(jī)會(huì)大一些? ● 解答:槍法最糟糕的丙活下來的幾率最大,前提是三人都清楚了解對(duì)手的實(shí)力。 ● 分析:
在這種情況下,我們計(jì)算一下三個(gè)槍手開槍后各自存活的概率:
結(jié)論:第一輪槍戰(zhàn),槍法最差的丙竟然存活概率最大——肯定存活,而槍法好的甲和乙存活概率遠(yuǎn)低于丙。 B. 第二輪槍戰(zhàn)
在這種情況下,我們?cè)儆?jì)算一下三個(gè)槍手開槍后各自存活的概率: 1)甲存活:
那么甲存活概率為: (24%*80%*60%) (24%*20%*24%)=12.672%。 2)乙存活:
那么乙存活概率為: (20%*76%*60%) (24%*20%*20%)=10.08%。 3)丙存活:
那么丙存活概率為: (24%*80%*20%) (20%*76%*40%) (24%*20%*100%) (76%*80%*100%)=75.52%。 總結(jié) 鬼仔再次強(qiáng)調(diào),智力題最重要的不是背答案,而是背思路,掌握思路。智力題雖然變化多端,但是面試中遇到的高頻智力題類型有限,往往是原題換了馬甲,只要我們掌握了思路,下次烏龜換了馬甲你也能認(rèn)出來! 同學(xué)們面試的時(shí)候要先弄清楚題意,再來思考作答,有疑惑的地方可以大膽地向面試官提問,確保自己沒有遺漏細(xì)節(jié),然后再根據(jù)以前做過的智力題尋找相似的思路。 看到這里,希望大家能夠給鬼仔點(diǎn)個(gè)收藏 關(guān)注,鬼仔專注分享面試經(jīng)驗(yàn)&算法專業(yè)知識(shí),點(diǎn)關(guān)注、不迷路~ |
|