AcWing 830. 单调栈
原题链接
简单
作者:
buchiyu
,
2021-05-18 22:19:35
,
所有人可见
,
阅读 240
数据模拟栈实现单调栈
n = int(input())
stack = [0]*n
tt = 0
alist = list(map(int,input().split()))
for i in alist:
while tt and stack[tt] >= i: tt -= 1
if tt:
print(stack[tt], end = ' ')
else:
print(-1, end = ' ')
tt += 1
stack[tt] = i
内置列表实现
n = int(input())
stack = []
alist = list(map(int,input().split()))
for i in alist:
while stack and stack[-1] >= i: stack.pop()
if stack:
print(stack[-1], end = ' ')
else:
print(-1, end = ' ')
stack.append(i)