在游游的披萨餐厅有很多机械人偶,其中有一只负责送餐的机械人偶,会记录自己的送餐情况。
送餐情况可以看作是一个合法的出入栈序列{ai}。如果ai>0则认为元素ai入栈,即机械人偶拿到餐品;如果ai<0则认为元素ai出栈,即机械人偶放下餐品,栈初始是空的,按照序列进行出入栈操作后,栈也是空的。
对于合法出入栈序列,如果某个相邻位置被交换,我们可以根据对应的相反数去判断每个相邻位置是否合法。
字典 mp
的构建:
首先通过字典 mp
将每个数值的索引保存下来,索引值是从0开始的(后面需要转换为1-indexed)。这是用来帮助快速查找对应出栈数的索引。
四种情况的判断: