這道阿里巴巴面試題讓程序員拿下20K月薪offer,答案很簡單

今天有空正好看到一道阿里巴巴的程序員面試題,還挺有趣,之前有個程序員去阿里巴巴面試就是因為這道題回答的出色,拿下了20K月薪的offer,讓人羨慕。在這裡和大家分享一下,會對你有很多幫助。這道題是一道編程算法題,考的是程序員的算法功底,不愧是互聯網大企業,程序員面試題果然不一般。題目是這樣的: 海量數據分佈在100臺電腦中,想個辦法高效統計出這批數據的TOP 10。這道題看起來很難,其實答案很簡單。

這道阿里巴巴面試題讓程序員拿下20K月薪offer,答案很簡單

正好有程序員給出了思路,看了一下還是很有參考價值的,答案是這樣的:在每臺電腦上求出TOP10,可以採用包含10個元素的堆完成(TOP10小,用最大堆,TOP10大,用最小堆)。比如求TOP10大,我們首先取前10個元素調整成最小堆,如果發現,然後掃描後面的數據,並與堆頂元素比較,如果比堆頂元素大,那麼用該元素替換堆頂,然後再調整為最小堆。最後堆中的元素就是TOP10大,然後求出每臺電腦上的TOP10後,然後把這100臺電腦上的TOP10組合起來,共1000個數據,再利用上面類似的方法求出TOP10就可以了。你認同這個思路嗎?你的答案是怎麼樣的?

結尾:這是一道很好的求高效算法題,考察的是程序員的內功。最近很多喜歡編程的朋友問我要自學編程的資料,特別是算法,Python,Java,Web前端,PHP,.net,C語言系列的學習資料。因為我也是自學過來的程序員,蒐集了很多最新最全的編程學習視頻資料,只為幫助那些想編程的人!一起加油!一起自學!

這道阿里巴巴面試題讓程序員拿下20K月薪offer,答案很簡單

這些資料絕對比網上的那些編程資料強多了,都是我很辛苦蒐集的,價值很高。相信看完這些,你絕對可以找到一份好工作!為了感謝大家的支持,關注微信公眾號:‘程序員寶庫',就可以免費領取上圖價值好幾萬元的全套編程視頻學習資料!咱們是自學編程的程序員聯盟。

夢想還是要有的,不嘗試怎麼知道不行?大家一起做自學編程的程序員!努力學習,一起加油!歡迎交流分享!


分享到:


相關文章: