我试图在给定排序数组的情况下找到最大的K个数字。
例如:输入 - > [ 5, 12, 45, 32, 9, 20, 15] 输出 -> K = 3, [45, 32, 20]
到目前为止,我编写的代码返回最大的 K 元素,但它需要返回最大的 K 个数字。任何帮助将不胜感激。
public static int max_Numbers(int [] p, int K, int firstNum, int lastNum)
{
int pivot = partitionArr(p, firstNum, lastNum);
int m = p.length - K;
if (m == pivot)
{
return p[pivot];
}
if(m > pivot)
{
return max_Numbers(p, K, pivot + 1, lastNum);
}
else
{
return max_Numbers(p, K, firstNum, pivot - 1);
}
}
江户川乱折腾
森栏
相关分类