下面展示一些 内联代码片
。
注意理解
用双指针理解栈;
再想优化;
#include<iostream>
using namespace std;
const int N =100010;
int stk[N],tt;
int main(){
cin.tie(0);//cin省时间
ios::sync_with_stdio(0);//闪屏省时间
int n;
cin>>n;
for(int i=0;i<n;i++ ){
int x;
cin>>x;
while(tt && stk[tt]>=x) tt--;//栈不为空,且栈顶不小于x;就删除栈顶
if(tt) cout<<stk[tt]<<" ";
else cout<<"-1 ";
stk[++tt] =x ;//再把这个x插入栈顶
}
}