Leetcode 2966 - Divide Array Into Arrays With Max Difference

題目

Problem#

給你一個整數陣列 nums 大小 n 還有一個正整數 k,問你 nums 可不可以變成一推大小 3 的子陣列,每個子陣列中最大與最小的差不能超過 k,如果可以的話,回傳轉換後的陣列;不能的話,回傳空陣列。

測資限制#

  • $1 \le n, k \le 10^5$
  • $1 \le \text{nums}[i] \le 10^5$

想法#

從小排到大,每三個看最大與最小差是否小於等於 k,如果是就加到答案;反之,回傳空陣列。

AC Code#

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

心得#

題目本身不難,反而是題目敘述看不懂,一開始沒看到每組只有 3 個XD