Acwing 830.单调栈
单调栈常见题型
- 找到每一个数左边或者右边离它最近的比它大或者小的数
题解
N = 100010
stk = [0] * 100010
tt = 0
if __name__ == "__main__":
n = int(input())
s = list(map(int, input().rstrip().split(' '))) # rstrip()方法返回删除字符串末尾指定字符后的字符串,默认为空格
for x in s:
while tt != 0 and x <= stk[tt]:
tt -= 1
if tt != 0:
print(stk[tt], end=' ')
else:
print("-1", end=' ')
tt += 1
stk[tt] = x