Leetcode 347 - Top K Frequent Elements

題目

Problem#

給你一個整數陣列 nums 和整數 k ,要你回傳前 k 多出現次數的數字,回傳任意順序即可

follow-up: 請實作時間複雜度在 $O(n\log{n})$

  • 測資限制:
    • $1 \le N \le 10^5$ (N=nums.size())
    • $-10^4 \le N[i] \le 10^4$
    • $1 \le k \le N$

想法#

統計每個數字出現的次數,接著以 (出現次數, 數字) 去降序排列,接著只要拿前 k 個即可。

  • 時間複雜度: $\mathcal{O}(n\log{n})$
  • 空間複雜度: $\mathcal{O}(n)$

AC Code#