题解 | #连续牛的第k体重#
连续牛的第k体重
https://www.nowcoder.com/practice/2db4e8f1a0d742e993d7cf8ead90221a
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型一维数组 * @param k int整型 * @return int整型一维数组 */ public int[] findKthLargest (int[] nums, int k) { // write code here int[] ans=new int[nums.length-k+1]; PriorityQueue<Integer> minHeap=new PriorityQueue<>(); for(int i=0;i<nums.length;i++){ minHeap.offer(nums[i]); //如果堆的大小超过k,则将堆顶弹出,保证堆顶是第k个 if(minHeap.size()>k) minHeap.poll(); if(i>=k-1) ans[i-k+1]=minHeap.peek(); } return ans; } }
作者:sunnyqky链接:https://www.nowcoder.com/discuss/592656093927550976import java.util.*;