Java教程

【数据结构1-1】线性表 P4387 【深基15.习9】验证栈序列

本文主要是介绍【数据结构1-1】线性表 P4387 【深基15.习9】验证栈序列,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

题解

用一个辅助栈模拟入出栈的过程即可。想找规律用数学方法做来着,但是没必要(才不是因为我不会呢!)。

AC代码

#include<bits/stdc++.h>
using namespace std;

int a[100010]={0};

int main(){
    int n,m,x;
    cin>>n;
    for(int i=0;i<n;i++){
        cin>>m;
        vector<int> a,b;
        stack<int> q;
        for(int j=0;j<m;j++){
            cin>>x;
            a.push_back(x);
        }
        for(int j=0;j<m;j++){
            cin>>x;
            b.push_back(x);
        }
        int k=0;
        for(int j=0;j<m;j++){
            q.push(a[j]);
            while(!q.empty() && q.top()==b[k]){
                q.pop();
                k++;
            }
        }
        if(q.empty()) cout<<"Yes"<<endl;
        else cout<<"No"<<endl;
    }
    return 0;
}
这篇关于【数据结构1-1】线性表 P4387 【深基15.习9】验证栈序列的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!