出棧序列(棧和佇列)

2022-01-11 15:21:00 字數 810 閱讀 6056

description

已知自然數1,2,...,n(1≤n≤10000)依次入棧(即ainput

輸入資料報含若干組測試樣例。

每組測試樣例的第一行為整數n(1≤n≤10000);

第二行為n個正整數,以空格隔開,為出棧序列;

輸入資料的末尾以乙個0表示輸入的結束。

output

對於每組測試樣例,輸出結果為一行字串。

如給出的序列是可能的出棧序列,則輸出"yes",否則輸出"no"。

注意:區分大小寫,引號本身不輸出。

sample input

53 4 2 1 5

53 5 1 4 2

0sample output

yesno

hint

1 #include2 #include3 #include4

using

namespace

std;

5int

main()618

for(i=1; i0]; i++)

19///

搞定第乙個數

22for(j=1; j)

2331}32

else

3339

else

4044}45

}46if(flag==1

)47 printf("

yes\n");

48else

49 printf("

no\n");

50}51return0;

52 }

出棧序列(棧和佇列)

已知自然數1,2,n 1 n 10000 依次入棧 即ainput 輸入資料報含若干組測試樣例。每組測試樣例的第一行為整數n 1 n 10000 第二行為n個正整數,以空格隔開,為出棧序列 輸入資料的末尾以乙個0表示輸入的結束。output 對於每組測試樣例,輸出結果為一行字串。如給出的序列是可能的...

棧(出棧序列)

已知自然數1,2,n 1 n 10000 依次入棧 即a1 c2,cn 是否為可能的出棧序列。例如 n 5時,3,4,2,1,5是乙個可能的出棧序列,因為其可以按如下操作獲得 push 1,push 2,push 3,pop,push 4,pop,pop,pop,push 5,pop input 輸...

LeetCode 946 驗證棧序列(棧)

給定 pushed 和 popped 兩個序列,每個序列中的值都不重複,只有當它們可能是在最初空棧上進行的推入 push 和彈出 pop 操作序列的結果時,返回 true 否則,返回 false 示例 1 輸入 pushed 1 2,3 4,5 popped 4 5,3 2,1 輸出 true 解釋...