
中等算法给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。
示例 1:
输入: nums = [1,1,1,2,2,3], k = 2
输出: [1,2]
示例 2:
输入: nums = [1], k = 1
输出: [1]
作者:力扣 (LeetCode)
链接:https://leetcode-cn.com/leetbook/read/top-interview-questions-medium/xvzpxi/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
代码
/*** @param {number[]} nums* @param {number} k* @return {number[]}*/var topKFrequent = function (nums, k) {const map = new Map();for (let i = 0; i < nums.length; i++) {if (!map.get(nums[i])) {map.set(nums[i], 1);continue;}map.set(nums[i], map.get(nums[i]) + 1);}const ans = [...map.keys()].sort((prev, curt) => {return map.get(curt) - map.get(prev);}).slice(0, k);return ans;};
