class Solution { public int findKthLargest(int[] nums, int k) { // Create a min heap PriorityQueue<Integer> minHeap = new PriorityQueue<>(); // Iterate through the array for (int num : nums) { // Add current element to the heap minHeap.offer(num); // If the size of the heap exceeds k, remove the smallest element if (minHeap.size() > k) { minHeap.poll(); } } // The root of the heap will be the kth largest element return minHeap.peek(); } }