Problem · Heap

Top-K Using a Priority Queue

EasyUberFULLTIMEONSITE INTERVIEW
See Uber hiring insights

Given an integer array nums and an integer k, return the largest k elements from the array in any order.

An O(n log k) solution is expected.

Function Description

Complete the function topKUsingPriorityQueue in the editor below.

topKUsingPriorityQueue has the following parameters:

  1. int[] nums: the input array
  2. int k: the number of largest elements to return

Returns

int[]: any ordering of the largest k values.

Examples
01 · Example 1
nums = [3, 2, 1, 5, 6, 4]
k = 2
return = [5, 6]

The two largest values are 5 and 6. Any order is acceptable.

Constraints
  • 1 <= nums.length <= 2 * 10^5
  • -10^9 <= nums[i] <= 10^9
  • 1 <= k <= nums.length
More Uber problems
drafts saved locally
public int[] topKUsingPriorityQueue(int[] nums, int k) {
    // write your code here
}
nums[3, 2, 1, 5, 6, 4]
k2
expected[5, 6]
sign in to submit