思路
code
class KthLargest {final PriorityQueue<Integer> pQueue; //声明一个堆final int k;public KthLargest(int k, int[] nums) {this.k = k;this.pQueue = new PriorityQueue<>(k); //堆的容量为kfor(int i=0;i<nums.length;i++){add(nums[i]); //每次向堆中插入元素}}public int add(int val) {if(pQueue.size()<k){ //如果堆没满 则加入堆pQueue.add(val);}else if(pQueue.peek()<val){ //如果堆已经超过k则判断是否需要更新pQueue.remove();pQueue.add(val);}return pQueue.peek();}}
