若输入一个整数x则压入栈中,若输入0则弹出栈顶元素。
in:
3
2 1 0
out:
2 1 2
in:
6
4 2 3 0 0 1
out:
4 2 2 2 4 1
while True:
try:
stack=[] #定义栈列表
out_min=[]#定义输出最小值列表
n = int(input())
if n >= 1 and n <= 1000: #定义n的范围
arr_num = input().split() #定义arr_num列表存储要输入的数据串
arr_num = list(map(int,arr_num)) #转化为整数型list
if len(arr_num)>n: #判断是否超出范围
print("超出范围")
break
else:
i=0
while i < n:
if arr_num[i] == 0:
stack.pop()
else:
stack.append(arr_num[i])
i += 1
if len(stack):
out_min.append(min(stack))
else:
out_min.append(0)
#print(stack)
#print(out_min)
out_min=map(str,out_min)#整型转字符型
print("".join(out_min))
else:
print("n的范围为[1,1000]")
except EOFError:
break
寻找栈的最小值
最新推荐文章于 2025-12-21 12:19:57 发布
这篇博客介绍了如何使用Python实现一个栈,根据输入的整数规则进行操作:当输入0时,从栈顶弹出元素。通过实例展示了栈的推入和弹出过程,并且适用于整数序列处理。
340

被折叠的 条评论
为什么被折叠?



