从1亿个数里面找出前100个最大的

从1亿个数里面找出前100个最大的 这个题目应该是一些大公司面试题中常常被问到的,这里我给出一种作法,至于面试官满不满意我就不知道了。咱们知道,这种找出前多少个最大或者最小的最适合用堆排序(对堆排序不熟悉的读者能够参考为的这篇博客:堆排序)。可是若是咱们用1亿个数去建堆并调整,固然时间复杂度是不容许的。题目中要求前100个大的,那么咱们就只用100个数建堆,并且是创建成最小堆。剩下的1亿减100个
相关文章
相关标签/搜索