1441. 用栈操作构建数组
给你一个目标数组 target 和一个整数 n。每次迭代,需要从 list = {1,2,3..., n} 中依序读取一个数字。
请使用下述操作来构建目标数组 target :
- Push:从
list中读取一个新元素, 并将其推入数组中。 - Pop:删除数组中的最后一个元素。
- 如果目标数组构建完成,就停止读取更多元素。
题目数据保证目标数组严格递增,并且只包含 1 到 n 之间的数字。
请返回构建目标数组所用的操作序列。
题目数据保证答案是唯一的。
示例 1:
1 | 输入:target = [1,3], n = 3 |
思路:
- 创建两个数组,一个储存结果(res),另一个记录数值(_target)
- 从0到nfor循环
- 每一次循环都在res中push(“Push”),比较_target与target相同位置的数值是否一样
- 若不一样,_target执行pop,并在res中添加记录
- 最后 当_target的长度和tareget的长度一样时,返回res
代码:
1 | /** |