From ac45a22f5f9d94cd56c8113d967521665252b413 Mon Sep 17 00:00:00 2001 From: manan gandhi Date: Sun, 7 Jun 2026 09:47:06 -0400 Subject: [PATCH 1/3] Design-1 --- Design.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 Design.py diff --git a/Design.py b/Design.py new file mode 100644 index 00000000..f9de9e02 --- /dev/null +++ b/Design.py @@ -0,0 +1,28 @@ +# https://leetcode.com/problems/min-stack/description/ +# Time Complexity O(1) +# Space Complexity O(1) +class MinStack: + def __init__(self): + self.st = [] + self.minst = [] + self.min = float("inf") + self.minst.append(self.min) + + def push(self, x): + self.min = min(x, self.min) + self.minst.append(self.min) + self.st.append(x) + + # Pop the top element + def pop(self): + self.st.pop() + self.minst.pop() + self.min = self.minst[-1] + + # Return top element + def top(self): + return self.st[-1] + + # Get the minimum element + def getMin(self): + return self.min From 4e1a724c3f986ce8da6e692cfacc4e9ea2f096b6 Mon Sep 17 00:00:00 2001 From: manan gandhi Date: Sun, 7 Jun 2026 10:50:15 -0400 Subject: [PATCH 2/3] Added problem1 and problem2 --- problem1.py | 3 +++ Design.py => problem2.py | 0 2 files changed, 3 insertions(+) create mode 100644 problem1.py rename Design.py => problem2.py (100%) diff --git a/problem1.py b/problem1.py new file mode 100644 index 00000000..aff607a7 --- /dev/null +++ b/problem1.py @@ -0,0 +1,3 @@ +# https://leetcode.com/problems/min-stack/description/ +# Time Complexity O(1) +# Space Complexity O(n) diff --git a/Design.py b/problem2.py similarity index 100% rename from Design.py rename to problem2.py From 7e0a350bc32ca0cfb2fa6d06f78391e2cc996ef8 Mon Sep 17 00:00:00 2001 From: manan gandhi Date: Sun, 7 Jun 2026 11:32:23 -0400 Subject: [PATCH 3/3] solved problem 1 --- problem1.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/problem1.py b/problem1.py index aff607a7..4e997552 100644 --- a/problem1.py +++ b/problem1.py @@ -1,3 +1,30 @@ # https://leetcode.com/problems/min-stack/description/ # Time Complexity O(1) # Space Complexity O(n) + + +class MinStack: + def __init__(self): + self.st = [] + self.minst = [] + self.min = float("inf") + self.minst.append(self.min) + + def push(self, x): + self.min = min(x, self.min) + self.minst.append(self.min) + self.st.append(x) + + # Pop the top element + def pop(self): + self.st.pop() + self.minst.pop() + self.min = self.minst[-1] + + # Return top element + def top(self): + return self.st[-1] + + # Get the minimum element + def getMin(self): + return self.min