Published:
arr = [7,2,1,3,10,4,5,8,9,6]
nthMax = 2 #specify max element here
maxArr = arr
for i in range (0, len(maxArr)):
for j in range (i, len(maxArr)):
if (maxArr[i] < maxArr[j]):
maxArr[i],maxArr[j] = maxArr[j],maxArr[i]
if i == nthMax:
break
print(maxArr)
print(maxArr[nthMax-1])
-- java solution with Heap
package com.company;
import java.util.PriorityQueue;
class JavaTest {
public static int findKthLargest(int[] nums, int k) {
PriorityQueue q = new PriorityQueue(k);
for(int i: nums){
q.offer(i);
if(q.size()>k){
q.poll();
}
}
return (int)q.peek();
}
public static void main (String[] args) throws java.lang.Exception
{
int[] arr = new int[]{7, 2, 1, 3, 10, 4, 5, 8, 9, 6};
int k = 2;
System.out.println(findKthLargest(arr, k));
}
}