class Solution {
    public int FindKthLargest(int[] nums, int k) {
        var pq = new PriorityQueue<int, int>();
 
        foreach (int x in nums) {
            pq.Enqueue(x, x);
            if (pq.Count > k) pq.Dequeue();
        }
 
        return pq.Peek();
    }
}

Min Heap.
Fill it to have k largest elements.
The one on top is Kth largest exactly.