ppzt 发布于四月 14, 2020 分享 发布于四月 14, 2020 (已修改) 车队入库嘛……2个栈 栈1姑且叫连续栈 栈2叫临时栈好了 需要记录2个值 连续栈的最大值和最小值 初始值为0 然后记录当前已处理的值 初始为0 对每一个输入值 判断是不是已处理值+1 如果是则输出 不需要过栈 然后更新已处理值 同时判断连续栈是否可以清空 即已处理值是否等于连续栈最小值+1 如果需要入中转栈 那么判断是不是可以直接入连续栈 即是否等于连续栈最小值-1 或者连续栈为空 如果不能则需要启用临时栈 临时栈的逻辑稍微麻烦一点 要借用连续栈保证临时栈里的元素是逆序的 具体伪代码略 不过反正你问的是需要几个栈…… 稍微想了一下好像不需要连续栈的最大值……那个本来是用来合并连续栈的 但是反正合并的时候也要用到第二个栈 四月 14, 2020,由ppzt修改 ppzt在诱导萌新女装时被路过的随便拦下,被批评教育并收取学费-3节操 链接到点评
ppzt 发布于四月 14, 2020 分享 发布于四月 14, 2020 6 小时前, Mr.K 018 说道: 陷阱受害者+1 有一说一 我特意提了一句不同输入序列结果会不同的来着 想想看,什么情况下一个栈就行呢?这才是本题的第二个关键 我说了啊……啥时候需要启用顺序栈 啥时候需要启用临时栈 链接到点评
推荐贴