Leetcode——347. 前K個高頻元素
給定一個非空的整數陣列,返回其中出現頻率前 k 高的元素。
示例 1:
輸入: nums = [1,1,1,2,2,3], k = 2
輸出: [1,2]
示例 2:
輸入: nums = [1], k = 1
輸出: [1]
說明:
你可以假設給定的 k 總是合理的,且 1 ≤ k ≤ 陣列中不相同的元素的個數。
你的演算法的時間複雜度必須優於 O(n log n) , n 是陣列的大小。
思路:
建立幾個木桶,然後把資料分別放入木桶中去,這裡可以用字典,記錄個數。
def topFrequecy(nums,k):
count_list = dict()
result = list()
for i in nums:
count_list[i] = count_list.get(i,0) + 1 #記錄個數
t = sorted(count_list.items(),key = lambda l: l[1], reverse = True)
for i in range(k):
result.append(t[i][0]) #value排好了序,從大到小
return result
def main():
nums = [1,1,2,2,2,3]
k=2
print(topFrequecy(nums,k))
main()
相關文章
- 347. 前 K 個高頻元素
- 347前 K 個高頻元素(雜湊表、堆排序)排序
- 程式碼隨想錄 第13天 | ● 239. 滑動視窗最大值 ● 347.前 K 個高頻元素 ● 總結
- LeetCode題解(0692):前K個高頻單詞(Python)LeetCodePython
- 程式碼隨想錄——棧與佇列8-前K個高頻元素佇列
- Day10(棧與佇列) | 150. 逆波蘭表示式求值 239. 滑動視窗最大值 347.前 K 個高頻元素佇列
- 程式碼隨想錄刷題day 11 | **150. 逆波蘭表示式求值** **239. 滑動視窗最大值** **347.前 K 個高頻元素**
- Leetcode 347. Top K Frequent ElementsLeetCode
- 程式碼隨想錄演算法訓練營第十二天|150.逆波蘭表示式求值、239.滑動視窗最大值、347.前k個高頻元素演算法
- 程式碼隨想錄演算法訓練營day11|150. 逆波蘭表示式求值 239. 滑動視窗最大值 347.前 K 個高頻元素演算法
- 347. Top K Frequent Elements
- leetcode 658.找到K個最接近的元素 JavaLeetCodeJava
- 347. Top K Frequent Elements - Bucket Sorting
- LeetCode-215-陣列中的第K個最大元素LeetCode陣列
- 集合的前N個元素
- 「面試必問」leetcode高頻題精選面試LeetCode
- jQuery判斷當前元素是第幾個元素jQuery
- jQuery獲取當前元素的下一個元素jQuery
- 「高頻必考」Docker&K8S面試題和答案DockerK8S面試題
- 找到k個最接近x的元素
- jQuery獲取當前li元素的下一個元素jQuery
- 最小的 k 個元素--快排變形
- 獲取當前元素下一個元素程式碼例項
- 在行內元素前注入一個換行
- 出海遊戲頻繁衝入日韓前十 樂元素日本再突破遊戲
- 選擇問題(求第k個最小元素)
- 陣列中的第K個最大元素陣列
- [Leetcode]下一個更大元素IILeetCode
- 第k大元素
- CSS 設定前n個li元素樣式CSS
- jQuery選擇器獲取前幾個元素jQuery
- jQuery獲取當前元素上一個兄弟元素例項程式碼jQuery
- LeetCode高頻演算法面試題 - 002 - 兩數相加LeetCode演算法面試題
- 簡單說幾個MySQL高頻面試題MySql面試題
- [Leetcode]315.計算右側小於當前元素的個數 (6種方法)LeetCode
- matlab統計一個陣列中各元素出現的頻數、頻率Matlab陣列
- js如何元素當前元素所有的父元素JS
- jQuery獲取當前元素的上一個或者下一個元素程式碼例項jQuery