LeetCode347. 前 K 个高频元素

题目描述

公众号:手摸手前端进阶

给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。

示例 1:
输入: nums = [1,1,1,2,2,3], k = 2
输出: [1,2]

示例 2:
输入: nums = [1], k = 1
输出: [1]
复制代码
/**
 * @param {number[]} nums
 * @param {number} k
 * @return {number[]}
 */
var topKFrequent = function(nums, k) {
    const map = new Map()
    nums.forEach(n => {
        map.set(n, map.has(n) ? map.get(n)+1 : 1)
    })
    const list = Array.from(map).sort((a, b) => b[1] - a[1])
    return list.slice(0, k).map(n => n[0]) 
};

// 题目转载自力扣官网:
// https://leetcode-cn.com/problems/top-k-frequent-elements/
复制代码
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享