模拟栈
(模拟栈) $O(n)$
C++ 代码
#include<iostream>
using namespace std;
const int N = 100010;
int s[N];
int hh = 0;
// 这里不用stl的栈,用自己模拟的栈
int main()
{
cin.tie(0);
std::ios::sync_with_stdio(false);
int num, temp;
cin >> num;
while(num--)
{
cin >> temp;
while(hh && s[hh] >= temp) hh--;
if(!hh) cout << -1 << " ";
else cout << s[hh] << " ";
s[++hh] = temp;
}
return 0;
}