Problem#
你有一個 stack 並可以對他做兩個操作:Push
, Pop
給你一個整數陣列 target
和整數 n
,你有 [1, n]
數字,每次 Push
數字都會加一,問你能不能給出一組操作,使得 stack 的元素等於 target
?
測資限制#
- $1 \le n \le 100$
- $1 \le len(target) \le 100$
想法#
怎麼構造出與 target 一樣的 stack 呢?每次 push 數字都會加一,要的數字直接 push 到 stack 就好;不要的數字則可以先 push 再馬上 pop 就好,掃過 $[1, n]$ 照前面的規則產生操作組合即可。 $O(n)$
AC Code#
- 時間複雜度: $\mathcal{O}(n)$
- 空間複雜度: $\mathcal{O}(n)$