347.前-k-个高频元素
小于 1 分钟
347.前-k-个高频元素
/*
* @lc app=leetcode.cn id=347 lang=typescript
*
* [347] 前 K 个高频元素
*/
// @lc code=start
function topKFrequent(nums: number[], k: number): number[] {
// 创建buckets
let buckets: {
[key: string]: number;
} = {};
for (let i = 0; i < nums.length; i++) {
if (buckets[nums[i]] === undefined) {
buckets[nums[i]] = 1;
} else {
buckets[nums[i]]++;
}
}
let counts: number[] = [];
Object.keys(buckets).map((key: string) => {
counts.push(buckets[key]);
});
let res = counts.sort((a, b) => b - a).slice(0, k);
let final: number[] = [];
Object.keys(buckets).map((key: string) => {
if (res.includes(buckets[key])) {
final.push(Number(key));
}
});
return final;
}
console.log(topKFrequent([1, 1, 1, 2, 2, 3], 2));
// @lc code=end
Loading...
