有趣的的算法、邏輯面試題


  1. A、B兩人分別在兩座島上。B生病了,A有B所需要的葯。C有一艘小船和一個可以上鎖的箱子。C願意在A和B之間運東西,但東西只能放在箱子里。只要箱子沒被上鎖,C都會偷走箱子里的東西,不管箱子里有什么。如果A和B各自有一把鎖和只能開自己那把鎖的鑰匙,A應該如何把東西安全遞交給B?

    答案:A把葯放在箱子,用自己的鎖把箱子鎖上。B拿到箱子后,再在箱子上加一把自己的鎖。箱子運回A后,A取下自己的鎖。箱子再運到B手中時,B取下自己的鎖,獲得葯物。


  2. 有一個軟件公司,1/2的人是系統分析員,2/5的人是軟件工程師,有1/4的人兩者都是,問有多少人兩者都不是?

     答案:1 - ( 1/2 + 2/5 - 1/4) = 7/20 = 0.35 


  3. 有25匹🐴,速度都不同,但每匹🐴的速度都是定值。現在只有5條賽道,無法計時,即每賽一場最多只能知道5匹🐴的相對快慢。問最少賽幾場可以找出25匹🐴中速度最快的前3名?(百度2008年面試題)

  •    答案:每匹🐴都至少又一次參加比賽的機會,所以25匹🐴分為5組,一開始的這五場比賽是免不了的。接下來要找冠軍也很容易,每一組的冠軍在一起賽一場就行了(第6場)。最后就是要找第2名和第3名。我們按照第6場比賽中得到的名詞依次把它們在前5場比賽中所在的組命名為A、B、C、D、E。即:A組的冠軍是第6場的第1名,B組的冠軍是第6場的第2名......每一組的5匹馬按照它們已經賽出的成績從快到慢編號:

    A組:1,2,3,4,5

    B組:1,2,3,4,5

    C組:1,2,3,4,5

    D組:1,2,3,4,5

    E組:1,2,3,4,5

  •  從現在所得到的信息,我們可以知道哪些🐴已經被排除在3名之外。只要已經能確定有3匹或3匹以上的🐴比這匹🐴快,那么它就已經被淘汰了。可以看到,只有上表中被划上橫線的那5匹🐴才有可能為2、3名的。即:A組的2、3名;B組的1、2名;C組的第1名。取這5匹🐴進行第7場比賽,第7場比賽的前兩名就是這25匹🐴中的2、3名。故一共最少要賽7場。


  • 4.  考慮一個雙人游戲。游戲在一個圓桌上進行。每個游戲者都有足夠多的硬幣。他們需要在桌子上輪流放置硬幣,每次必需且只能放置一枚硬幣,要求硬幣完全置於桌面內(不能有一部分懸在桌子外面),並且不能與原來放過的硬幣重疊。誰沒有地方放置新的硬幣,誰就輸了。游戲的先行者還是后行者有必勝策略?這種策略是什么?

  •    答案:先行者在桌子中心放置一枚硬幣,以后的硬幣總是放在與后行者剛才放的地方相對稱的位置。這樣,只要后行者能放,先行者一定也有地方放。先行者必勝。


    5.  一個矩形蛋糕,蛋糕內部有一塊矩形的空洞。只用一刀,如何將蛋糕切成大小大小相等的兩塊?

  •    答案:注意到平分矩形面積的線都經過矩形的中心。過大矩形和空心矩形各自的中心畫一條線,這條線顯然把兩個矩形都分成了一半,它們的差當然也是相等的。

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM