347. Top K Frequent Elements 前 K 个高频元素
生活随笔
收集整理的這篇文章主要介紹了
347. Top K Frequent Elements 前 K 个高频元素
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
給定一個(gè)非空的整數(shù)數(shù)組,返回其中出現(xiàn)頻率前?k?高的元素。
?
示例 1:
輸入: nums = [1,1,1,2,2,3], k = 2 輸出: [1,2]示例 2:
輸入: nums = [1], k = 1 輸出: [1]?
提示:
- 你可以假設(shè)給定的?k?總是合理的,且 1 ≤ k ≤ 數(shù)組中不相同的元素的個(gè)數(shù)。
- 你的算法的時(shí)間復(fù)雜度必須優(yōu)于 O(n log n) ,?n?是數(shù)組的大小。
- 題目數(shù)據(jù)保證答案唯一,換句話說,數(shù)組中前 k 個(gè)高頻元素的集合是唯一的。
- 你可以按任意順序返回答案。
哈希表
統(tǒng)計(jì)nums中每個(gè)數(shù)字出現(xiàn)的次數(shù),然后按照次數(shù)進(jìn)行排序,出現(xiàn)次數(shù)最多的前k個(gè)即為答案。
Code
def topKFrequent(self, nums: List[int], k: int) -> List[int]:count, ans = {}, []for num in nums:count[num] = count[num] + 1 if count.get(num, None) else 1temp = sorted(count.items(), key=lambda x: x[1], reverse=True)return [temp[i][0] for i in range(k)] 與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的347. Top K Frequent Elements 前 K 个高频元素的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于我自己的一些事
- 下一篇: 39. Combination Sum