例:既存のシーケンスシーケンスは32541で、スタックシーケンスは12345です。32541が有効かどうかを確認するための
アルゴリズムは次のとおりです。
bool check_is_valid_order(std::queue<int>& order) {
stack<int> S;
int n = order.size();
for (int i = 0; i <= n; i++)
{
S.push(i);
while (!S.empty()&&order.front()==S.top())
{
S.pop();
order.pop();
}
}
if (!S.empty())
{
return false;
}
return true;
}
ps:リトルエレファントアカデミーチュートリアルのメモhttps://www.bilibili.com/video/BV1GW411Q77S?t=7029&p=2