Leetcode 215 - Kth Largest Element in an Array

題目

Problem#

給你一個整數陣列 nums 和整數 k,要你回傳 nums 中第 k 大的整數
限制: 不能用 sort

測資限制#

  • $1 \le k \le n \le 10^5$
  • $-10^4 \le val \le 10^4$

想法#

用 max heap 去維護最大值,將 nums 所有數字 push 進去後,pop $k-1$ 個數字,此時 max heap 的 top 就會是 k-th largest element

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

AC Code#