Skip to content
BASA DSA

Kth Largest Element In a Stream

EasyHeap / Priority Queue

Implement KthLargest(k,nums) for a stream of integers. add(val) inserts val and returns the kth largest stream value, counting duplicates.

Example 1

Input
arg 1 = ["KthLargest","add","add","add"]
arg 2 = [[2,[3,7]],[5],[1],[9]]
Output
[null,5,5,7]

Explanation

Adding 5 leaves top two 7,5; adding 1 changes nothing; adding 9 makes the second largest 7.

Example 2

Input
arg 1 = ["KthLargest","add","add"]
arg 2 = [[1,[]],[-2],[4]]
Output
[null,-2,4]

Explanation

For k=1 return the largest seen so far, including an initial negative value.

Example 3

Input
arg 1 = ["KthLargest","add","add"]
arg 2 = [[2,[5,5]],[5],[4]]
Output
[null,5,5]

Explanation

Equal 5 occurrences count separately, so the second largest stays 5 after both additions.

Constraints

  • 1 <= k <= 10000
  • At most 10000 additions
  • Each add leaves at least k total values

Class contractKthLargestArguments: json, json
Loading draft…
SolutionRuns on your device
Loading draft…