LeetCode讲解篇之347. 前 K 个高频元素

347. 前 K 个高频元素

文章目录

  • 347. 前 K 个高频元素
  • 题目描述
  • 题解思路
  • 题解代码

题目描述

LeetCode讲解篇之347. 前 K 个高频元素_第1张图片

题解思路

根据数组频率倒序排序, 然后返回前k的个数据

题解代码

func topKFrequent(nums []int, k int) []int {
  m := make(map[int]int, 0)
  for i := len(nums) - 1; i >= 0; i-- {
    m[nums[i]]++
  }
  res := make([]int, 0, len(m))
  for k, _ := range m {
    res = append(res, k)
  }
  // 降序
  sort.Slice(res, func(a, b int) bool {
    return m[res[a]] > m[res[b]]
  })
  return res[:k]
}

你可能感兴趣的:(数据结构与算法,leetcode,算法,go,golang,数据结构)