这道阿里巴巴面试题让程序员拿下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,答案很简单

这些资料绝对比网上的那些编程资料强多了,都是我很辛苦搜集的,价值很高。相信看完这些,你绝对可以找到一份好工作!为了感谢大家的支持,关注微信公众号:‘程序员宝库',就可以免费领取上图价值好几万元的全套编程视频学习资料!咱们是自学编程的程序员联盟。

梦想还是要有的,不尝试怎么知道不行?大家一起做自学编程的程序员!努力学习,一起加油!欢迎交流分享!


分享到:


相關文章: