给你一个数组 target 和一个整数 n

给你一个空栈和两种操作:

同时给定一个范围 [1, n] 中的整数流。

使用两个栈操作使栈中的数字(从底部到顶部)等于 target。你应该遵循以下规则:

请返回遵循上述规则构建 target 所用的操作序列。如果存在多个合法答案,返回 任一 即可。

 

示例 1:

输入:target = [1,3], n = 3
输出:["Push","Push","Pop","Push"]
解释:一开始栈为空。最后一个元素是栈顶。
从流中读取 1 并推入数组。s = [1]。
从流中读取 2 并推入数组。s = [1,2]。
从栈顶删除整数。s = [1]。
从流中读取 3 并推入数组。s = [1,3]。

示例 2:

输入:target = [1,2,3], n = 3
输出:["Push","Push","Push"]
解释:一开始栈为空。最后一个元素是栈顶。
从流中读取 1 并推入数组。s = [1]。
从流中读取 2 并推入数组。s = [1,2]。
从流中读取 3 并推入数组。s = [1,2,3]。

示例 3:

输入:target = [1,2], n = 4
输出:["Push","Push"]
解释:一开始栈为空。最后一个元素是栈顶。
从流中读取 1 并推入数组。s = [1]。
从流中读取 2 并推入数组。s = [1,2]。
由于栈(从底部到顶部)等于 target,我们停止栈操作。
从流中读取整数 3 的答案不被接受。

 

提示: