Description
Given a non-empty array of integers, return the k most frequent elements.
For example,
Given [1,1,1,2,2,3] and k = 2, return [1,2].
Note:
- You may assume k is always valid, 1 ≤ k ≤ number of unique elements.
- Your algorithm’s time complexity must be better than O(n log n), where n is the array’s size.
The original problem is here.
My Solution
I solve this problem in C++, as below:
1 | class Solution { |
Note
To solve the problem, use maxHeap, namely priority_queue in C++.