我们可以使用O(n)时间复杂度的Median of Medians 算法轻松找到第 n 个最大的。
如果我们必须在同一个数组中多次找到第 n 个最大的数,最好的方法是对O(NlogN)进行排序 ,然后在O(1)时间复杂度中找到该数。
但是,当数组大小增加并且我们必须找到第 n 个最大的数,比如 array.length/3 th 最大或 array.length/2 th 最大
时,什么是有效的算法。例子
Array- 1,3,2,4,5 n=2 Answer-4
New Array 1,3,2,4,5,7 n=2 answer-5
New Array 1,3,2,4,5,7,3 n=2 answer-5
注意
n 取决于数组的长度。
请帮帮我。