public class Solution {
public int[] findKthLargest(int[] nums, int k) {
if (nums == null || nums.length == 0) {
return -1;
}
Queue<Integer> minHeap = new PriorityQueue<Integer>();
for(int i = 0; i < nums.length; i++) {
if (i < k) {
minHeap.offer(nums[i]);
} else if (nums[i] > minHeap.peek()) {
minHeap.poll();
minHeap.offer(nums[i]);
}
}
int[] result = new int[minHeap.size()];
for (int i = minHeap.size() - 1; i>= 0; i--) {
result[i] = minHeap.poll();
}
return result;
}
}