日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

统计list里面相同元素个数_LeetCode 第 347 号问题:前 K 个高频元素

發布時間:2025/3/15 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 统计list里面相同元素个数_LeetCode 第 347 号问题:前 K 个高频元素 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文首發于公眾號「五分鐘學算法」,是圖解 LeetCode 系列文章之一。
個人網站:https://www.cxyxiaowu.com

今天分享的題目來源于 LeetCode 上第 347 號問題:前 K 個高頻元素。題目難度為 Medium,目前通過率為 56.9% 。

題目描述

給定一個非空的整數數組,返回其中出現頻率前 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 是數組的大小。

題目解析

解法一:粗暴排序法

最簡單粗暴的思路就是 使用排序算法對元素按照頻率由高到低進行排序,然后再取前 k 個元素。

以下十種排序算法,任你挑選!

可以發現,使用常規的諸如 冒泡、選擇、甚至快速排序都是不滿足題目要求,它們的時間復雜度都是大于或者等于 O(n log?n) ,而題目要求算法的時間復雜度必須優于 O(n log n) 。

復雜度分析

  • 時間復雜度:O(nlogn),n 表示數組長度。首先,遍歷一遍數組統計元素的頻率,這一系列操作的時間復雜度是 O(n);接著,排序算法時間復雜度為O(nlogn) ;因此整體時間復雜度為 O(nlogn) 。
  • 空間復雜度:O(n),最極端的情況下(每個元素都不同),用于存儲元素及其頻率的 Map 需要存儲 n 個鍵值對。

解法二:最小堆

題目最終需要返回的是前 k 個頻率最大的元素,可以想到借助堆這種數據結構,對于 k 頻率之后的元素不用再去處理,進一步優化時間復雜度。

具體操作為:

  • 借助 哈希表 來建立數字和其出現次數的映射,遍歷一遍數組統計元素的頻率
  • 維護一個元素數目為 k 的最小堆
  • 每次都將新的元素與堆頂元素(堆中頻率最小的元素)進行比較
  • 如果新的元素的頻率比堆頂端的元素大,則彈出堆頂端的元素,將新的元素添加進堆中
  • 最終,堆中的 k 個元素即為前 k 個高頻元素

代碼如下:

class

復雜度分析

  • 時間復雜度:O(nlogk), n 表示數組的長度。首先,遍歷一遍數組統計元素的頻率,這一系列操作的時間復雜度是 O(n);接著,遍歷用于存儲元素頻率的 map,如果元素的頻率大于最小堆中頂部的元素,則將頂部的元素刪除并將該元素加入堆中,這里維護堆的數目是 k ,所以這一系列操作的時間復雜度是 O(nlogk)的;因此,總的時間復雜度是 O(nlog?k) 。
  • 空間復雜度:O(n),最壞情況下(每個元素都不同),map 需要存儲 n 個鍵值對,優先隊列需要存儲 k個元素,因此,空間復雜度是 O(n)。

解法三:桶排序法

首先依舊使用哈希表統計頻率,統計完成后,創建一個數組,將頻率作為數組下標,對于出現頻率不同的數字集合,存入對應的數組下標即可。

代碼實現如下:

//基于桶排序求解「前 K 個高頻元素」

復雜度分析

  • 時間復雜度:O(n), n 表示數組的長度。首先,遍歷一遍數組統計元素的頻率,這一系列操作的時間復雜度是 O(n);桶的數量為 n + 1,所以桶排序的時間復雜度為 O(n);因此,總的時間復雜度是 O(n)。
  • 空間復雜度:很明顯為 O(n)

總結

以上是生活随笔為你收集整理的统计list里面相同元素个数_LeetCode 第 347 号问题:前 K 个高频元素的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 天堂在线1 | 中文字幕一区二区久久人妻 | 国产成人精品一区二三区四区五区 | 激情五月五月婷婷 | 91久久亚洲 | 天堂成人av | 亚洲国产精品美女 | 日本50路肥熟bbw | 亚洲欧美网站 | 亚洲国产黄色 | 刘亦菲久久免费一区二区 | 国产九色91回来了 | 成人午夜小视频 | 91黄在线观看 | 熟女少妇a性色生活片毛片 亚洲伊人成人网 | 中文字幕1区2区3区 www.com黄色片 | 国产黄色免费看 | 美女久久久久久久久 | 亚洲成人偷拍 | 欧美春色| 重口另类 | 午夜美女视频 | 亚洲一区二区三区免费视频 | 高h视频在线播放 | 66亚洲一卡2卡新区成片发布 | 999精品视频 | 亚洲在线免费看 | 亚洲熟女综合一区二区三区 | 欧美日韩亚洲一区二区三区 | 有码在线 | 四季av国产一区二区三区 | 一区二区三区日韩精品 | 在线观看亚洲色图 | 成人你懂的 | av福利在线免费观看 | 操碰人人| 99久99| 久久久久久久久久免费视频 | 日本精品一区视频 | 午夜少妇久久久久久久久 | 永久免费av| 国产一区二区三区四区五区在线 | 亚洲成年人| 天天摸天天插 | 嫩草在线视频 | 亚洲一区二区三区av无码 | 天天草天天干 | 夜色综合 | 国产不雅视频 | 成人日韩在线 | 蜜桃久久精品成人无码av | 亚洲a一区 | 精品亚洲aⅴ无码一区二区三区 | 国精产品一区二区三区 | 久久鲁视频 | 诱人的乳峰奶水hd | 90岁肥老奶奶毛毛外套 | 色一情一乱一乱一区91av | 在线观看黄色免费视频 | 999精品在线视频 | 91麻豆网| 麻豆性视频 | 欧产日产国产精品 | 亚洲黄站 | 老司机午夜免费福利 | 中文字幕精品一区二区三区视频 | 久久水蜜桃 | av一区二区在线观看 | 国产又粗又长又大 | 国产一级一级片 | 欧美一区二区福利 | 亚洲av成人无码久久精品老人 | 久操资源网 | 黑人性xxx| 在线伊人 | 欧美不卡一区二区三区 | 欧美偷拍亚洲 | 麻豆免费电影 | 国产成人精品亚洲精品色欲 | 亚洲天堂视频在线播放 | 国产伦精品一区二区免费 | jizzjizz国产| 天天综合网天天综合 | 日韩综合在线视频 | 国产在线精品一区 | 国产69xx| 超碰在线一区 | 午夜精品久久久久久毛片 | 欧美成人免费视频 | 强侵犯の奶水授乳羞羞漫虐 | 日韩特黄 | 狠狠操一区二区 | 中文字幕亚洲精品在线 | 超碰在线最新 | 快色在线观看 | 久久久久久久久免费视频 | 91不卡视频 | 激情久久网站 | 国产精品精品国产色婷婷 |