问题标题:
【一个有N个整数组成的数组,写一个函数,找出数组中最大的K个数例如:N=1000000K=10用C++编写,方法是用数组存储K个数,排好序,然后N-K个数逐个与K个数中的数比较,去掉小数,把那个数存入数组再】
问题描述:
一个有N个整数组成的数组,写一个函数,找出数组中最大的K个数例如:N=1000000K=10
用C++编写,方法是用数组存储K个数,排好序,然后N-K个数逐个与K个数中的数比较,去掉小数,把那个数存入数组再排序.我正在考虑时间复杂度的问题.求代码~希望能用我的方法来写代码!
李曙林回答:
利用快排的思想,利用函数Partition()分段.①若pivot左边的数个数小于K,则输出包括pivot在内的左边的数(假设为m个,m
查看更多