騰訊演算法面試題:64匹馬8個跑道需要多少輪才能選出最快的四匹?
昨天,有網友私信我,說去阿里面試,徹底的被打擊到了。問了為什麼網上大量使用ThreadLocal的原始碼都會加上
private static?他被難住了,因為他從來都沒有考慮過這個問題。無獨有偶,今天筆者又發現有網友吐槽了一道騰
訊的面試題,我們一起來看看。
騰訊演算法面試題:64匹馬8個跑道需要多少輪才能選出最快的四匹?
在網際網路職場論壇,一名程式設計師發帖求助到。二面騰訊,其中一個演算法題:64匹馬,8個跑道,選出最快的四匹馬。
最少跑幾個回合能夠選出最快的四匹馬。這樣的求助也是瞬間引來了網友的圍觀與議論,我們先來看看網友們都是
怎麼解答這道題,一起來看看。
騰訊演算法面試題:64匹馬8個跑道需要多少輪才能選出最快的四匹?
有網友就說到。南大的演算法課題目之一,騰訊這麼沒創造力嗎?又是我二面題目。可以計時嗎,計時的話就8場。
有網友就回答到。隨機分八組比賽,這是8場了,把每組第一名拿出來跑一場,每次把第一名選出來,把所在組的
後一名拿出來補位,跟剩下的跑,這樣跑4次就ok了。總共12次。不知道對不對
也有網友分析到。64分8組比8場,淘汰每組後四名;8個第一比1場,淘汰後四名所在組;剩餘16匹馬中有一個確定
冠軍,除此之外還剩第一名所在組後三位,第二名所在組前三位,第三名所在組前兩位,第四名所在組第一位,共計
9匹馬未定,隨機選8匹賽1場,取前三名;前三名+上一場漏掉的馬賽1場,再取前三名加上固定冠軍就是最快的四匹
馬。是這個思路不?
騰訊演算法面試題:64匹馬8個跑道需要多少輪才能選出最快的四匹?
更多的網友加入了討論。最小堆排序,8個回合吧,64匹馬每匹馬跑一次,根據每匹馬花的時間,取最快的四匹馬。
我7年前去騰訊面實習,三面就面的這個問題。
可以計時的話8場。不計時的話,選4匹家裡有椅子的送到黎總辦公室,剩餘60殺掉,僅需跑0場。8輪對8組馬分組
排序,去除每組後四名,剩餘8組*4匹。第一名跑一次淘汰後四名所在的組,剩餘4組*4匹。在進行2次。每次第一
都會有一個肯定是前四。
這個題目出的,連一些基礎條件都沒給。1,馬的發揮是恆定的,每次跑相同的距離,時間務必相同。2,能不能用
秒錶計時?3,賽道長度不能長到跑死馬的長度。
看了答案才懂。不斷縮小檢索空間,淘汰儘可能多的數。另外這題,剩9匹馬時,一直以為還有更簡單的。
騰訊演算法面試題:64匹馬8個跑道需要多少輪才能選出最快的四匹?
更多的網友參與了回答。1,分8組,每組一次跑完,決出前4名,每組的後4名淘汰,這樣8個來回之後,還剩32匹
馬;2,把每一組的第一名拉出來賽一回合,淘汰後4名以及他整個小組,同時排第一的組,冠軍出來了,還剩3匹
馬,第二組,去掉最後一名,剩3屁,第三組去掉2名剩2名,最後一組剩1名,所以9個回合下來,剩9匹馬爭3個名
額;3,8匹馬一組,再來一回合,選前3名,這三個和剩下那個再來一次,選前3名。一共11回合,全部搞定。
最少10場(剩9匹的時候,選第一組的後3,第二組的前3,第三組的前2,如果第三組的第一這輪名次大於等於3,
那就已經分出前四了),最多11場
騰訊演算法面試題:64匹馬8個跑道需要多少輪才能選出最快的四匹?
也有比較理智的網友分析到。8+4+2+1,每一次比賽都需要留下來最快的4個,大資料面試裡面記憶體不夠,需要
外部排序的一個變種,資訊理論算一下就出來了,8個賽道一次提供A8,8的資訊,a64,60。 思路對但是以我的尿性
應該還有點bug,我們組也考這道題,我覺得當年進來的時候覺得這不就是奧數麼很簡單,5年沒有變竟然。感覺8
個回合就夠了啊,每隻馬跑一次,用毫秒錶記錄下每個馬跑的時間,去前四。
step one:分八組,各跑一輪,依成績組內編號。step two:各組一號跑一輪,依成績編號。此時共跑九輪選出最快
馬。step three:此時【1】【2】馬(即第一次參賽跑第一,第二次參賽跑第二的馬)與最快馬第一次參賽剩下的七
匹為可能的次快馬。讓它們八匹跑一輪。此時假如【1】【2】馬在該輪比賽中跑第三。則該輪的第一第二馬分別為
64匹中的亞軍與季軍。而【1】【2】馬為所有馬中第四快的馬。至此10輪選出前四。因題目問“最少”,故第十輪
不考慮其他可能出現的結果。
騰訊演算法面試題:64匹馬8個跑道需要多少輪才能選出最快的四匹?
看了這麼多網友的回覆,其實答對的網友也是不少的。看似一個簡單的問題,確實考的也是非常全面,不知道各位網
友對於騰訊這樣的面試題有沒有更清晰的答案,歡迎留言與筆者一起探討。
原文連結:https://blog.csdn.net/qq_21118431/article/details/102925078
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946034/viewspace-2665061/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【面試】小東最少需要拉多少票才能讓她獲勝(京東實習筆試題)面試筆試
- 騰訊這套SpringMvc面試題你懂多少(面試必備)SpringMVC面試題
- 親歷騰訊WEB前端開發三輪面試經歷及面試題Web前端面試題
- 釋出一個軟體,需要多少人?
- 騰訊面試,面試官第一個問題是Int佔多少位元組,程式設計師不知所措面試程式設計師
- 騰訊面試題:根據上排給出的十個數,在其下排填出對應的十個數。面試題
- 26個精選的JavaScript面試問題JavaScript面試
- IBM面試需要注意的幾個問題IBM面試
- 選出需要rebuild的索引Rebuild索引
- 前端面試題:演算法-選擇排序前端面試題演算法排序
- 京東的技術比阿里差多少個騰訊阿里
- 騰訊js面試題1JS面試題
- 從阿里、騰訊的面試真題中總結了這11個Redis高頻面試題阿里Redis面試題
- 投身投資行業需要思考的8個問題(ZT)行業
- 新鮮出爐的8月前端面試題前端面試題
- 5個有趣的演算法、邏輯面試題演算法面試題
- 精選的這19道C/C+面試題,你能答對多少呢?面試題
- Python面試中8個必考問題Python面試
- Python 面試中 8 個必考問題Python面試
- 針對IOS頁面縮放,需要點選兩次才能選中iOS
- 騰訊社招筆面試題面試題
- 程式碼面試需要知道的8種資料結構(附面試題及答案連結)資料結構面試題
- 您需要的前端面試演算法(上)前端面試演算法
- JAVA面試題(8)Java面試題
- 2019年228道Java中高階面試題(8),你會的有多少?Java面試題
- 【面試題】大資料開發第1輪面試面試題大資料
- 製作一個電商APP需要多少錢?APP
- 工作多少年才能買房?
- 28個MongoDB資料庫精選面試題MongoDB資料庫面試題
- 騰訊,創新工場,淘寶面試題面試題
- 怎麼選擇小程式開發公司,需要多少錢
- 8個最常見卻最容易出錯的演算法題,面試幾乎都會考到,來測試下你能答出幾道?演算法面試
- 選擇 NoSQL 資料庫需要考慮的 10 個問題SQL資料庫
- Java開發面試題大彙總,年薪30萬的面試題你能答出多少?Java面試題
- Linux常見面試題,你會多少?Linux面試題
- 趙劼:我看面試時出(純)演算法題面試演算法
- 演算法面試題演算法面試題
- Spring Boot面試題,你會需要的!Spring Boot面試題