c语言
找第k名 (10分)
整数数组中存储有N个整数,编写函数,找出并返回第k大的数。要求时间复杂度要优于O(NlogN)。题目确保输入的K是合法的(1<=k<=N)。你可以认为k远小于N。
函数接口定义:
6 3
(d[]={13,48,43,96,96,8},N=6,k=3)
其中 d
,N
和 k
都是用户传入的参数。 d
是数组的初地址, N
是数组的长度, k
是名次,返回第k大的整数(最大值是第一)。
输入样例:
例如:
6 3
(d[]={13,48,43,96,96,8},N=6,k=3)
输出样例:
例如:
48