Problem
You are part of a university admissions office and need to keep track of thekth highest test score from applicants in real-time. This helps to determine cut-off marks for interviews and admissions dynamically as new applicants submit their scores.
You are tasked to implement a class which, for a given integer k, maintains a stream of test scores and continuously returns the kth highest test score after a new score has been submitted. More specifically, we are looking for the kth highest score in the sorted list of all scores.
Implement the KthLargest class:
KthLargest(int k, int[] nums)Initializes the object with the integerkand the stream of test scoresnums.int add(int val)Adds a new test scorevalto the stream and returns the element representing thek<sup>th</sup>largest element in the pool of test scores so far.
Examples
Constraints
- 0 <= nums.length <= 10<sup>4</sup>
- 1 <= k <= nums.length + 1
- -10<sup>4</sup> <= nums[i] <= 10<sup>4</sup>
- -10<sup>4</sup> <= val <= 10<sup>4</sup>
- At most 10<sup>4</sup> calls will be made to
add.