1. 程式人生 > 其它 >前 K 個高頻元素_CodingPark程式設計公園

前 K 個高頻元素_CodingPark程式設計公園

技術標籤:leetcodepythonleetcode雜湊表hash

前 K 個高頻元素

給定一個非空的整數陣列,返回其中出現頻率前 k 高的元素。

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

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

連結:https://leetcode-cn.com/leetbook/read/learn-data-sturcture-in-7-chapters/xydnz7/


解答

pycharm

# -*- encoding: utf-8 -*-
"""
@File    :   qKg.py    
@Contact :   
[email protected]
@License : (C)Copyright 2019-2020, CodingPark @Modify Time @Author @Version @Desciption ------------ ------- -------- ----------- 2020/12/23 下午7:38 AG 1.0 None """
def topKFrequent(nums, k): # 雜湊表-1 hashList = {} # 結論表-1
res = [] finnal = [] for i in nums: if i not in hashList: hashList[i] = 1 else: hashList[i] = hashList[i] + 1 # 反轉 inverse = [(value, key) for key, value in hashList.items()] fin = sorted(inverse)[-k:] for i in fin: finnal.
append(i[1]) return finnal if __name__ == '__main__': nums = [1, 1, 1, 2, 2, 3] k = 2 fin = topKFrequent(nums, k) print('fin-> ', fin)

在這裡插入圖片描述

在這裡插入圖片描述