前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
};
以自己现在的努力程度,还没有资格和别人拼天赋

浙公网安备 33010602011771号