注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号 
x
public int findKthLargest(int[] nums, int k) {
PriorityQueue<Integer> minHeap=new PriorityQueue<Integer>();
for (int i=0;i<k;i++){
minHeap.offer(nums[i]);
}
for (int i=k;i<nums.length;i++){
if(nums[i]>minHeap.peek()){
minHeap.poll();
minHeap.offer(nums[i]);
}
}
return minHeap.peek();
}
}
很简单 我用min Heap做的,还有一种方法用max Heap做的,更加简单,分享下ac的代码,增加点积分吧
|