Leetcode 1356 - Sort Integers by The Number of 1 Bits

題目

Problem#

給你一個整數陣列 arr,依照每個數字的 binary 數字1出現的次數來遞增排序並回傳。

測資限制#

  • $1 \le n \le 500$
  • $0 \le val \le 10^4$

想法#

照著做就會過

AC Code#

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

賞析#

  • 官方題解
    • 我們的做法(builtin popcount)、自己寫 popcount

心得#

原來數字的 binary 1 個數又可以叫做 Hamming weight
一開始 sort 的寫法原本就這樣寫,結果大於小於搞錯==