From 1a3cb117b2fcb99f8e2bf3b4eb47615ef77f3637 Mon Sep 17 00:00:00 2001 From: Bharath Vuppala Date: Thu, 2 Jan 2025 00:34:05 -0800 Subject: [PATCH 1/4] 2 problems completed --- Define Hash Set .py | 40 ++++++++++++++++++++++++++++++++++++++++ Min Stack .py | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 Define Hash Set .py create mode 100644 Min Stack .py diff --git a/Define Hash Set .py b/Define Hash Set .py new file mode 100644 index 00000000..08562e8d --- /dev/null +++ b/Define Hash Set .py @@ -0,0 +1,40 @@ +class MyHashSet: + + def __init__(self): + self.bucket=1000 + self.bucketItems=1000 + self.storage = [None] * self.bucket + def hash1(self, key: int) -> int: + return key % self.bucket + def hash2(self, key: int) -> int: + return key // self.bucketItems + def add(self, key: int) -> None: + bucket = self.hash1(key) + bucketItem= self.hash2(key) + if self.storage[bucket] == None: + if bucket == 0: + self.storage[bucket] = [False] * (self.bucketItems+1) + else: + self.storage[bucket] = [False] * self.bucketItems + self.storage[bucket][bucketItem] = True + def remove(self, key: int) -> None: + bucket = self.hash1(key) + bucketItem= self.hash2(key) + if self.storage[bucket] == None: + return + self.storage[bucket][bucketItem] = False + def contains(self, key: int) -> bool: + bucket = self.hash1(key) + bucketItem= self.hash2(key) + if self.storage[bucket] == None: + return False + return self.storage[bucket][bucketItem] + + + + +# Your MyHashSet object will be instantiated and called as such: +# obj = MyHashSet() +# obj.add(key) +# obj.remove(key) +# param_3 = obj.contains(key) \ No newline at end of file diff --git a/Min Stack .py b/Min Stack .py new file mode 100644 index 00000000..45ecf85c --- /dev/null +++ b/Min Stack .py @@ -0,0 +1,32 @@ +class MinStack: + + def __init__(self): + self.stack=[] + self.minstack=[] + self.Min=int(sys.maxsize) + self.minstack.append(self.Min) + + def push(self, val: int) -> None: + if val <= self.Min: + self.Min= val + self.stack.append(val) + self.minstack.append(self.Min) + def pop(self) -> None: + self.stack.pop() + self.minstack.pop() + self.Min=self.minstack[-1] + + def top(self) -> int: + return self.stack[-1] + + def getMin(self) -> int: + + return self.Min + + +# 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() \ No newline at end of file From 85a061b0a9629982438dc12a9d491ee8b9916514 Mon Sep 17 00:00:00 2001 From: krishnavarun7 Date: Wed, 24 Dec 2025 14:42:40 -0800 Subject: [PATCH 2/4] Design-1 completed --- Define Hash Set .py | 40 ---------------------------------------- Design Hashset.py | 31 +++++++++++++++++++++++++++++++ Min Stack .py | 32 -------------------------------- Min Stack.py | 24 ++++++++++++++++++++++++ 4 files changed, 55 insertions(+), 72 deletions(-) delete mode 100644 Define Hash Set .py create mode 100644 Design Hashset.py delete mode 100644 Min Stack .py create mode 100644 Min Stack.py diff --git a/Define Hash Set .py b/Define Hash Set .py deleted file mode 100644 index 08562e8d..00000000 --- a/Define Hash Set .py +++ /dev/null @@ -1,40 +0,0 @@ -class MyHashSet: - - def __init__(self): - self.bucket=1000 - self.bucketItems=1000 - self.storage = [None] * self.bucket - def hash1(self, key: int) -> int: - return key % self.bucket - def hash2(self, key: int) -> int: - return key // self.bucketItems - def add(self, key: int) -> None: - bucket = self.hash1(key) - bucketItem= self.hash2(key) - if self.storage[bucket] == None: - if bucket == 0: - self.storage[bucket] = [False] * (self.bucketItems+1) - else: - self.storage[bucket] = [False] * self.bucketItems - self.storage[bucket][bucketItem] = True - def remove(self, key: int) -> None: - bucket = self.hash1(key) - bucketItem= self.hash2(key) - if self.storage[bucket] == None: - return - self.storage[bucket][bucketItem] = False - def contains(self, key: int) -> bool: - bucket = self.hash1(key) - bucketItem= self.hash2(key) - if self.storage[bucket] == None: - return False - return self.storage[bucket][bucketItem] - - - - -# Your MyHashSet object will be instantiated and called as such: -# obj = MyHashSet() -# obj.add(key) -# obj.remove(key) -# param_3 = obj.contains(key) \ No newline at end of file diff --git a/Design Hashset.py b/Design Hashset.py new file mode 100644 index 00000000..76fe9d2b --- /dev/null +++ b/Design Hashset.py @@ -0,0 +1,31 @@ +class MyHashSet: + + def __init__(self): + self.bucket=1000 + self.bucketItem=1000 + self.storage=[None]*self.bucket + def hash1(self,key:int)->int: + return key%1000 + def hash2(self,key:int)->int: + return key//1000 + def add(self, key: int) -> None: + bucket=self.hash1(key) + bucketItem=self.hash2(key) + if self.storage[bucket]==None: + if bucket==0: + self.storage[bucket]=[False]*(self.bucketItem+1) + else: + self.storage[bucket]=[False]*(self.bucketItem) + self.storage[bucket][bucketItem]=True + def remove(self, key: int) -> None: + bucket=self.hash1(key) + bucketItem=self.hash2(key) + if self.storage[bucket]==None: + return + self.storage[bucket][bucketItem]=False + def contains(self, key: int) -> bool: + bucket=self.hash1(key) + bucketItem=self.hash2(key) + if self.storage[bucket]==None: + return False + return self.storage[bucket][bucketItem] \ No newline at end of file diff --git a/Min Stack .py b/Min Stack .py deleted file mode 100644 index 45ecf85c..00000000 --- a/Min Stack .py +++ /dev/null @@ -1,32 +0,0 @@ -class MinStack: - - def __init__(self): - self.stack=[] - self.minstack=[] - self.Min=int(sys.maxsize) - self.minstack.append(self.Min) - - def push(self, val: int) -> None: - if val <= self.Min: - self.Min= val - self.stack.append(val) - self.minstack.append(self.Min) - def pop(self) -> None: - self.stack.pop() - self.minstack.pop() - self.Min=self.minstack[-1] - - def top(self) -> int: - return self.stack[-1] - - def getMin(self) -> int: - - return self.Min - - -# 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() \ No newline at end of file diff --git a/Min Stack.py b/Min Stack.py new file mode 100644 index 00000000..dfc501c1 --- /dev/null +++ b/Min Stack.py @@ -0,0 +1,24 @@ +class MinStack: + + def __init__(self): + self.stack=[] + self.minStack=[] + self.Min=int(sys.maxsize) + self.minStack.append(self.Min) + + + def push(self, val: int) -> None: + if val<=self.Min: + self.Min=val + self.stack.append(val) + self.minStack.append(self.Min) + def pop(self) -> None: + self.stack.pop() + self.minStack.pop() + self.Min=self.minStack[-1] + def top(self) -> int: + return self.stack[-1] + + def getMin(self) -> int: + return self.Min + \ No newline at end of file From af9330afcec1eda7f5ad1068042f1d50b6ecab80 Mon Sep 17 00:00:00 2001 From: BharathVuppala96 Date: Wed, 24 Dec 2025 14:55:32 -0800 Subject: [PATCH 3/4] Design-1 2 problems completed --- Design Hashset.py => DesignHashset.py | 0 Min Stack.py => MinStack.py | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename Design Hashset.py => DesignHashset.py (100%) rename Min Stack.py => MinStack.py (100%) diff --git a/Design Hashset.py b/DesignHashset.py similarity index 100% rename from Design Hashset.py rename to DesignHashset.py diff --git a/Min Stack.py b/MinStack.py similarity index 100% rename from Min Stack.py rename to MinStack.py From b1abef753954a5357f918bb3f1174ff13822df69 Mon Sep 17 00:00:00 2001 From: BharathVuppala96 Date: Tue, 3 Feb 2026 12:32:04 -0800 Subject: [PATCH 4/4] 2problems completed --- DesignHashset.py => design hashset.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename DesignHashset.py => design hashset.py (100%) diff --git a/DesignHashset.py b/design hashset.py similarity index 100% rename from DesignHashset.py rename to design hashset.py