请使用下述操作来构建目标数组 target :
"Push":从 list 中读取一个新元素, 并将其推入数组中。
"Pop":删除数组中的最后一个元素。.../
示例 1:
输入:target = [1,3], n = 3
输出:[“Push”,“Push”,“Pop”,“Push”]
解释:
读取 1 并自动推入数组 -> [1]
读取 2 并自动推入数组...,然后删除它 -> [1]
读取 3 并自动推入数组 -> [1,3]
/
示例 2:
输入:target = [1,2,3], n = 3
输出:[“Push”,“Push”,“Push”]...解题思路:
通过理解题目,我们可以知道,给定的数组target中存放的元素范围是从1到n,而且元素是严格递增的,因为数组每次迭代,需要从 list = { 1 , 2 , 3 …, n } 中依次读取一个数字...而题目的要求就是我们需要使用堆操作,让堆中存放的元素以及元素的顺序都与给定的数组target相同,并且将对堆的操作用数组存放并返回。
规则与需求都分析清楚,接下来思路也就清晰了。