IT筆試面試智力題

2021-07-06 03:53:18 字數 1956 閱讀 5119

受到嚴重挫傷,惡補惡補

【題目1】12個高矮不同的人,排成兩排,每排必須是從矮到高排列,而且第二排比對應的第一排的人高,問排列方式有多少種? 

問題分析: 

我們先把這12個人從低到高排列,然後,選擇6個人排在第一排,那麼剩下的6個肯定是在第二排. 

用0表示對應的人在第一排,用1表示對應的人在第二排,那麼含有6個0,6個1的序列,就對應一種方案. 

比如000000111111就對應著 

第一排:0 1 2 3 4 5 

第二排:6 7 8 9 10 11 

010101010101就對應著 

第一排:0 2 4 6 8 10 

第二排:1 3 5 7 9 11 

問題轉換為,這樣的滿足條件的01序列有多少個. 

觀察1的出現,我們考慮這乙個出現能不能放在第二排,顯然,在這個1之前出現的那些0,1對應的人 

要麼是在這個1左邊,要麼是在這個1前面.而肯定要有乙個0的,在這個1前面,統計在這個1之前的0和1的個數. 

也就是要求,0的個數大於1的個數. 

ok,問題已經解決. 

如果把0看成入棧操作,1看成出棧操作,就是說給定6個元素,合法的入棧出棧序列有多少個. 

這就是catalan數,這裡只是用於棧,等價地描述還有,二叉樹的列舉,多邊形分成三角形的個數,圓括弧插入公式中的 

方法數,其通項是c(2n, n)/(n+1). 

【題目2】在一天的24小時之中,時鐘的時針、分針和秒針完全重合在一起的時候有幾次?

假設時針的角速度是ω(ω=π/6每小時),則分針的角速度為12ω,秒針的角速度為72ω。 

分針與時針再次重合的時間為t,則有12ωt-ωt=2π,t=12/11小時,換算成時分秒為1小時5分27.3秒,顯然秒針不與時針分針重合,同樣可以算出其它10次分針與時針重合時秒針都不能與它們重合。只有在正12點和0點時才會重合。

【題目3】有1000桶酒,其中1桶有毒。而一旦吃了,毒性會在1週後發作。現在我們用小老鼠做實驗,要在1週後找出那桶毒

10只老鼠按順序排好每桶酒按照編號轉換成二進位制,給相應位置上是1的老鼠喝。最後按死掉的老鼠是哪幾隻,然後排成二進位制,再轉成十進位制就是第幾桶酒。比如:

第70桶酒,70轉換成二進位制就是0001000110,那麼就給第

四、八、九隻老鼠喝。如果最後死掉第

三、七、八隻老鼠,那麼就是0010001100,轉換成十進位制就是140,即140桶酒有毒。

【題目4】100層樓,兩個雞蛋。某層之上扔雞蛋就會碎。問至少要測試多少次才能找出這層樓來。

正確的方法是先假設最少判斷次數為x,則第乙個雞蛋第一次從第x層扔(不管碎沒碎,還有x-1次嘗試機會)。如果碎了,則第二個雞蛋在1~x-1層中線性搜尋,最多x-1次;如果沒碎,則第乙個雞蛋第二次從x+(x-1)層扔(現在還剩x-2次嘗試機會)。如果這次碎了,則第二個雞蛋在x+1~x+(x-1)-1層中線性搜尋,最多x-2次;如果還沒碎第乙個雞蛋再從x+(x-1)+(x-2)層扔,依此類推。x次嘗試所能確定的最高樓層數為x+(x-1)+(x-2)+...+1=x(x+1)/2。 

比如100層的樓,只要讓x(x+1)/2>=100,得x>=14,最少判斷14次。具體地說,100層的樓,第一次從14層開始扔。碎了好說,從第1層開始試。不碎的話還有13次機會,再從14+13=27層開始扔。依此類推,各次嘗試的樓層依次為 

14  27 = 14 + 13  39 = 27 + 12  ...  99 = 95 + 4  100

現在推廣成n層樓,m個雞蛋: 

還是動態規劃。假設f[n,m]表示n層樓、m個雞蛋時找到摔雞蛋不碎的最少判斷次數。則乙個雞蛋從第i層扔下,如果碎了,還剩m-1個雞蛋,為確定下面樓層中的安全位置,還需要f[i-1,m-1]次(子問題);不碎的話,上面還有n-i層,還需要f[n-i,m]次(子問題,實體n層樓的上n-i層需要的最少判斷次數和實體n-i層樓需要的最少判斷次數其實是一樣的)。 

狀態轉移方程:f[n,m] = min  初始條件:f[i,0]=0(或f[i,1]=i),對所有i  

筆試面試智力題001

1.100的階乘,末尾有幾個連續的零?如 2100的最後有2個零 2.1到100的階乘的和的末位數是幾?3.10000的階乘,末尾有多少個連續的零?答案自己找,就在我的部落格上 完整內容所在目錄 http www.mythroad.net tag q written examination and ...

筆試智力題

1.如何快速找出乙個32位整數的二進位制表達裡有多少個 1 用關於 1 的個數的線性時間?答案1 關於數字位數線性 for n 0 b b 1 if b 1 n 答案2 關於 1 的個數線性 for n 0 b n b b 1 2.乙個大小為n的陣列,所有數都是不超過n 1的正整數。用o n 的時間...

面試智力題

最近蒐集了一些面試的智力題,特來分享一下,改變下思維方式 1 燒一根不均勻的繩子,從頭燒到尾總共需要1個小時,問如何用燒繩子的方法來確定半小時的時間呢?2 10個海盜搶到了100顆寶石,每一顆都一樣大小且價值連城。他們決定這麼分 1 抽籤決定自己的號碼 1 10 2 首先,由1號提出分配方案,然後大...