百度2014校招筆試題(一)

2021-06-18 13:38:15 字數 758 閱讀 5220

演算法和程式設計題:

1 題意:

一幢大樓的底層有1001根電線,這些電線一直延伸到大樓樓頂,你需要確定底層的1001個線頭和樓頂的1001次線頭的對應關係。你有乙個電池,乙個燈泡,和許多很短的電線,你需要上下樓幾次才能確定電線接頭的對應關係:

2 解答:

註明:這裡每次上下樓都帶著電池和燈泡,以及每次介面連線,對應介面的之前連線過的線都將拆除,所以下面不再說明。

首先將底層一對介面(這裡假設為(buttom1,buttom2))連線起來,然後上樓,根據提供的電池和燈泡的亮滅,確定頂層的一對(這裡假設為(top1,top2)),接著將頂層的另一對連線起來(假設為(top3,top4)),然後下底層,確定和(top3,top4)對應的一對(假設為(buttom3,buttom4)),然後將底層的 buttom1和buttom3連線,底層的buttom2和buttom4連線,上樓,分別將確定過的兩對交換對接,即依次測試(top1,top4),(top2,top3)或者(top1,top3),(top2,top4),直接燈泡亮為止即可確定這四個介面的對接關係。這樣第一次確定4個介面需要上下樓3次。

然後根據第一次確定的4個介面,在頂層分別和剩餘的介面中的其中四個介面連線,下到底層,和第一次確定四個介面一樣,即可確定8個介面。這時確定8根只需要在上面的基礎上加1次就可以。接下來就可以確定16個介面,並以此指數增加,從而到2的10次方,即1024,即可全部確定1001個介面,而從2的3次方到2的10次方,共8次.

最後得出第一次確定的3次加上接下來的8次,共需11次即可確定他們的對應關係。

2014百度校招筆試題

二 演算法與程式設計題 本題共45分 1.使用c c 編寫函式,實現字串反轉,要求不使用任何系統函式,且時間複雜度最小,函式原型 char reverse str char str 15分 演算法實現 實現字串翻轉 char reverse str char str char begin char ...

2014百度校招筆試題

二 演算法與程式設計題 本題共45分 1.使用c c 編寫函式,實現字串反轉,要求不使用任何系統函式,且時間複雜度最小,函式原型 char reverse str char str 15分 演算法實現 cpp view plain copy 實現字串翻轉 char reverse str char ...

2014百度校招筆試題

二 演算法與程式設計題 本題共45分 1.使用c c 編寫函式,實現字串反轉,要求不使用任何系統函式,且時間複雜度最小,函式原型 char reverse str char str 15分 演算法實現 cpp view plain copy 實現字串翻轉 char reverse str char ...