栈和排序(感觉与排序无关)

栈和排序

http://www.nowcoder.com/questionTerminal/b10a7ac681e9429e89a6a510e5799647

此题从n,n-1....开始出栈(前提是能够出)

#include<iostream>
#include<stack>
#include<algorithm>
#include<vector>
using namespace std;
const int N=1e6+10;
int a[N];
vector<int> v;//存stk中剩余的数
stack<int> stk;
int main(){
    int n;
    cin>>n;
    for(int i=1;i<=n;i++) cin>>a[i];
    for(int i=1;i<=n;i++){
        int j=n;
        stk.push(a[i]);//依次放入栈中
        if(a[i]==j){//从n,n-1....开始出栈
            stk.pop();
            cout<<j<<" ";
            --j;
        }
    }
    //当然有未出完的部分
    while(!stk.empty()){
        v.push_back(stk.top());
        stk.pop();
    }
    for(int i=0;i<v.size();i++){
        if(i==v.size()-1) cout<<v[i];
        else cout<<v[i]<<' ';
    }
    return 0;
}
全部评论
输入: 5 1 2 4 5 3 输出不对
点赞 回复 分享
发布于 2020-05-29 09:51
这个题数据修过了,现在欢迎重新提交
点赞 回复 分享
发布于 2020-06-09 11:04
提交错误
点赞 回复 分享
发布于 2022-04-26 15:07
0分
点赞 回复 分享
发布于 04-02 15:33 湖南

相关推荐

11-08 16:53
门头沟学院 C++
投票
滑模小马达:第三个如果是qfqc感觉还行,我签的qfkj搞电机的,违约金也很高,但公司感觉还可以,听说之前开过一个试用转正的应届生,仅供参考。
点赞 评论 收藏
分享
评论
3
收藏
分享
牛客网
牛客企业服务