From c78f3db3f36d446b2e83a5aa21abebdcd0905003 Mon Sep 17 00:00:00 2001 From: sadabala30 Date: Mon, 6 Apr 2026 20:51:17 -0400 Subject: [PATCH] Add MinStack class with basic stack operations Implement MinStack class with push, pop, top, and getMin methods. --- minstack.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 minstack.py diff --git a/minstack.py b/minstack.py new file mode 100644 index 00000000..ceff993d --- /dev/null +++ b/minstack.py @@ -0,0 +1,33 @@ +class MinStack: + + def __init__(self): + self.a =[] + self.b=[] + + + def push(self, val: int) -> None: + self.a.append(val) + if len(self.b) == 0 or val <= self.b[-1]: + self.b.append(val) + + def pop(self) -> None: + if len(self.a) >0: + if self.a[-1] == self.b[-1]: + self.b.pop() + self.a.pop() + + def top(self) -> int: + return self.a[-1] + + + def getMin(self) -> int: + return self.b[-1] + + + +# Your MinStack object will be instantiated and called as such: +# obj = MinStack() +# obj.push(val) +# obj.pop() +# param_3 = obj.top() +# param_4 = obj.getMin()