剑指offer40题,同时这也是面试高发题目 2019.4 蚂蚁金服问道:求1000万个数据中的前K个数. 思路: 1.直接上排序算法,然后我们就取排好顺序的前K个即可.但是单考虑快排,时间复杂度也要O(nlog(n)).这时候我们要对所有数据排序,显然随着数据量的增加,复杂度也是激增的. 2.采用时间复杂度为O(n),这时可以考虑我们之前做过的求第K大的数字.引入partition函数. 3.剑指offer上提供了一种思路:创建一个大小为K的容器,将原数据的前k个放进去,剩下的数据每个都与容器…