Top K Frequent Elements

Asked byFacebookAmazonMicrosoftGoogleOracleUber

Problem

Given an integer array nums and an integer k, return the k most frequently occurring elements in the array, in any order.

Examples

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

Constraints

  • The answer is guaranteed to be unique.
  • 1 <= k <= number of distinct elements in nums.

Solve it in the editor. Sign in free to run your Python or JavaScript against test cases, get a verdict, and track your attempts.

Solve on FeatCode →

How to approach it: the Arrays & Hashing pattern

Arrays give O(1) index access; hash maps and sets give O(1) average lookup, insert, and delete by trading space for speed. Together they're the toolkit for turning brute-force O(n²) comparisons into a single O(n) pass.

Look for this pattern when

  • You need to check "have I seen this value before?" quickly.
  • You're counting occurrences or grouping items by a derived key (e.g. sorted letters for anagrams).
  • A nested loop is comparing every pair — a hash map can often replace the inner loop.

Read the full Arrays & Hashing guide →

Video walkthroughs

Original problem on LeetCode ↗

More Arrays & Hashing problems