Leetcode 1441 - Build an Array With Stack Operations

題目

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)$