class Solution:
def __init__(self):
self.stack = [] # 主栈
self.min_stack = [] # 辅助栈,用于存储当前的最小值
def push(self, x):
self.stack.append(x)
if not self.min_stack or x <= self.min_stack[-1]:
self.min_stack.append(x)
def pop(self):
if self.stack[-1] == self.min_stack[-1]:
self.min_stack.pop()
self.stack.pop()
def top(self):
return self.stack[-1]
def min(self):
return self.min_stack[-1]
# def process_commands(commands):
# stack = Solution()
# results = []
# for command in commands:
# if command[0:3] == "PSH":
# value = int(command[3:])
# stack.push(value)
# elif command == "POP":
# stack.pop()
# elif command == "TOP":
# results.append(stack.top())
# elif command == "MIN":
# results.append(stack.min())
# return results
# # 读取输入
# commands = input().strip()
# output = process_commands(commands)
# print(",".join(map(str, output)))