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

示例 1:

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

示例 2:

输入: nums = [1], k = 1
输出: [1]

因为用的是python
直接调用sort函数的话就会比较快
如果不用sort的话需要写一个排序函数

class Solution:
    def topKFrequent(self, nums: List[int], k: int) -> List[int]:
        number = {}
        for n in nums:
            number[n] = number.get(n,0) + 1
        data = (sorted(number.items(),key = lambda x:x[1],reverse = True))[:k]
        return ([v[0] for v in data])
       
       

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/top-k-frequent-elements

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐