diff --git a/designHashset.py b/designHashset.py new file mode 100644 index 00000000..fc70e96f --- /dev/null +++ b/designHashset.py @@ -0,0 +1,32 @@ +class MyHashSet: + + def __init__(self): + self.hashSet=[] + primary = 10000 + secondary = 10000 + def key1(self,index): + return index%primary + def key2(self,index): + return index//secondary + + def add(self, key: int) -> None: + if not key in self.hashSet: + self.hashSet.append(key) + + def remove(self, key: int) -> None: + if key in self.hashSet: + self.hashSet.remove(key) + + + def contains(self, key: int) -> bool: + if key in self.hashSet: + return True + return False + + + +# 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/minStack.py b/minStack.py new file mode 100644 index 00000000..6ad18a4f --- /dev/null +++ b/minStack.py @@ -0,0 +1,37 @@ +class MinStack: + + def __init__(self): + self.arr = [] + self.st = [] + self.minValue = float("inf") + self.st.append(self.minValue) + + + def push(self, val: int) -> None: + self.minValue = min(val, self.minValue) + self.arr.append(val) + + self.st.append(self.minValue) + + + def pop(self) -> None: + self.arr.pop() + self.st.pop() + self.minValue = self.st[-1] + + + def top(self) -> int: + return self.arr[-1] + + + def getMin(self) -> int: + return self.minValue + + + +# 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