若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为 p1 , p2 , p3 ,…, pn ,若p1=n,则pi为()
A.i
B.n=i
C.n-i+1
D.不确定
正确答案是 C
当p1=n,即n是最先出栈的,根据栈的原理,n必定是最后入栈的(事实上题目已经表明了),那么输入顺序必定是1,2,3,…,n,则出栈的序列是n,…,3,2,1。
(若不要求顺序出栈,则输出序列不确定)
怎么没能早点看到你这篇文章呢
额,我选的D
当出栈的第一个元素(n)刚好是入栈顺序(1,2,3,...,n)的最后一个元素,那么说明它前面的元素(1,2,3,...n-1)已经全部进栈了,那么出栈的顺序就已经定死了,必须是n,n-1,n-2,...3,2,1。所以就可以根据规律第i个元素为n-i+1,如第一个,n-1+1=n,第二个n-2+1=n-1;
数学题:通项下标和:n+1
请写出以下代码执行输出:(构造函数、静态块执行顺序)
如何理解PV、UV、IP
cookies,sessionStorage 和 localStorage 的区别?
如果你是一个100w日活的UGC短视频APP产品经理,你觉得此时是做分享视频打水印重要,还是优化播放器让视频播放更加顺畅重要?
怎么没能早点看到你这篇文章呢
额,我选的D
当出栈的第一个元素(n)刚好是入栈顺序(1,2,3,...,n)的最后一个元素,那么说明它前面的元素(1,2,3,...n-1)已经全部进栈了,那么出栈的顺序就已经定死了,必须是n,n-1,n-2,...3,2,1。所以就可以根据规律第i个元素为n-i+1,如第一个,n-1+1=n,第二个n-2+1=n-1;
数学题:通项下标和:n+1