题解 | 包含min函数的栈

包含min函数的栈

https://www.nowcoder.com/practice/4c776177d2c04c2494f2555c9fcc1e49


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)))

全部评论

相关推荐

喜欢飞来飞去的雪碧在刷代码:可以试一试字节
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务