原题地址:https://leetcode.com/problems/kth-largest-element-in-a-stream/
设计一个类寻找一个数据流里面的第k大的元素。注意是指排序后的第k大元素,而不是第k个不重复元素。
你的KthLargest类应该有一个构建器接受一个整数k和一个整数数组nums,包含流的初始元素。每次调用方法KthLargest.add,返回流里面的第k大的元素。
例子:
int k = 3; int[] arr = [4,5,8,2]; KthLargest kthLargest = new KthLargest(3, arr); kthLargest.add(3); // returns 4 kthLargest.add(5); // returns 5 kthLargest.add(10); // returns 5 kthLargest.add(9); // returns 8 kthLargest.add(4); // returns 8
注意:
你可以假定nums的长度 ≥ k-1 而且 k ≥ 1。