前K个高频元素
给你一个整数数组 nums
和一个整数 k
,请你返回其中出现频率前 k
高的元素。你可以按 任意顺序 返回答案。
/** * @param {number[]} nums * @param {number} k * @return {number[]} */ const topKFrequent = (nums, k) => { const map = {} nums.forEach(i => { if (map[i]) { map[i]++ } else { map[i] = 1 } }) let arr = Object.values(map).sort((x, y) => x - y).slice(-k) arr = arr.map(i => { for (let key in map) { if (map[key] === i) { delete map[key] return key } } }) return arr };
以自己现在的努力程度,还没有资格和别人拼天赋