All problems
MediumHeap

Top K Frequent Elements

amazonmetagoogleapplemicrosoftbloombergoracleuber

Given an integer array nums and an integer k, return the k most frequent elements. You may return the answer in any order.

It is guaranteed that the answer is unique.

Example 1:

Input: nums = [1,1,1,2,2,3], k = 2
Output: [1,2]
Explanation: 1 appears 3 times and 2 appears 2 times. The two most frequent elements are 1 and 2.

Example 2:

Input: nums = [1], k = 1
Output: [1]
Explanation: There is only one element, so it is the most frequent.

Examples

Example 1

Input: nums = [1,1,1,2,2,3], k = 2

Output: [1,2]

Explanation: 1 appears 3 times and 2 appears 2 times. The two most frequent elements are 1 and 2.

Example 2

Input: nums = [1], k = 1

Output: [1]

Explanation: There is only one element, so it is the most frequent.

Example 3

Input: nums = [4,4,4,1,1,2,2,2,3], k = 2

Output: [4,2]

Explanation: 4 appears 3 times and 2 appears 3 times. Both are among the top 2 most frequent.

Constraints

  • -1 <= nums.length <= 10^5
  • --10^4 <= nums[i] <= 10^4
  • -k is in the range [1, the number of unique elements in the array]
  • -It is guaranteed that the answer is unique

Optimal Complexity

Time

O(n)

Space

O(n)

Practice this problem with an AI interviewer

TechInView conducts a full voice mock interview — the AI asks clarifying questions, evaluates your approach, watches you code, and scores you on 5 dimensions. Just like a real FAANG interview.

Start a free interview