You get a list of integers nums and an integer k.
Return the k values that show up most often in nums, in any order.
How often a value shows up is its frequency. The tests always have one clear answer. Every value you return shows up more often than every value you leave out.
Example 1:
Input: nums = [5,3,5,8,3,5,2], k = 2 Output: [3,5] Explanation: 5 shows up 3 times. 3 shows up twice. 8 and 2 show up once each. The top 2 are 5 and 3. [5,3] is just as correct.
Example 2:
Input: nums = [9,9,9,9], k = 1 Output: [9] Explanation: 9 is the only value.
Example 3:
Input: nums = [-2,6,-2,0,6,-2,6,1], k = 2 Output: [-2,6] Explanation: -2 and 6 both show up 3 times. 0 and 1 show up once each. A tie inside the answer is fine. Only the values left out must show up less often.
Constraints:
- 1 to 100,000 numbers.
- Each number is from -10,000 to 10,000.
kis at least 1 and at most the number of different values innums.- There is only one correct set of
kvalues.
Note:
Your algorithm should run in O(n) time and use O(n) extra space, where n is the length of nums. Sorting the values by their frequency would already take O(n log n).
Free plan: 30 tutor messages. PRO is unlimited.
