Leetcode 279 - Perfect Squares

題目

Problem#

給你一個整數 n,回傳最少需要幾個完全平方數加起來等於它?

測資限制#

  • $1 \le n \le 10^4$

想法#

令 $f(n)$ 為整數 $n$ 最少需要 $f(n)$ 個完全平方數: 可以思考每次可以挑 $1, 2, 4, \cdots, i^2 (i \in [1, 100])$ 這個完全平方數,所以 $f(n)$ 就等於 $f(n-i^2) + 1$,因為目標是要找最少需要幾個完全平方數,所以可以得出式子: $f(n) = \max_{1 \le i \le 100}(f(n-i^2)+1)$

AC Code#

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

賞析#

TODO: 官方題解