LeetCode 347 前 K 個高頻元素

2021-10-01 10:03:54 字數 721 閱讀 8183

使用最小堆排序完成了topk問題

class

solution};

vector<

int>

topkfrequent

(vector<

int>

& nums,

int k)

//遍歷map,用最小堆儲存頻率最大的k個元素

//優先佇列,把最小的元素放在隊首

priority_queueint,

int>

, vectorint,

int>>

, cmp> pq;

for(unordered_map<

int,

int>

::iterator beg = mymap.

begin()

; beg != mymap.

end(

); beg++)}

//取出最小堆中的元素

vector<

int> res;

while

(!pq.

empty()

)//結果要逆序輸出

vector<

int>

tempres

(res.

rbegin()

, res.

rend()

);return tempres;}}

;

Leetcode 347 前K個高頻元素

給定乙個非空的整數陣列,返回其 現頻率前k高的元素。示例 1 輸入 nums 1,1,1,2,2,3 k 2 輸出 1,2 示例 2 輸入 nums 1 k 1 輸出 1 說明 首先都要先用hash表統計一次頻率,乙個思路是排序,取前k個元素 第二個思路是使用優先佇列,這裡提供兩種 class so...

Leetcode347 前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...

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 ...