我正在尝试使用算法的在线课程,我似乎无法理解这是如何工作的。 (这不是作业,只是来自免费在线课程的问题)
有人会向我解释如何找到答案吗?在练习结束时给出,但我不明白它是如何工作的。提前致谢 ! :)
假设执行了(堆栈)推送和弹出操作的混合序列。推动按顺序推动整数0到9; pops打印出返回值。以下哪个序列不会发生? (a)4 3 2 1 0 9 8 7 6 5
(b)4 6 8 7 5 3 2 9 0 1
(c)2 5 6 7 4 8 9 3 1 0
(d)4 3 2 1 0 5 6 7 8 9
(e)1 2 3 4 5 6 9 8 7 0
(f)0 4 6 5 3 8 1 7 2 9
(g)1 4 7 9 8 6 5 3 0 2
(h)2 1 4 3 6 5 8 7 9 0
正确答案:(b),(f)和(g)。
答案 0 :(得分:3)
如果按顺序按下数字,即使随机出现弹出,也有一些事情永远不会发生。考虑(b):
按0,1,2,3,4,弹出4,按5,6,弹出6,按7,按8,弹出8,弹出7,弹出5,弹出3,弹出2,按9,弹出9 ....你不能弹出0因为一个人挡路了。
其他错误答案也是如此。