Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions MinStack.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
'''
Time Complexity : O(1)
Space Complexity : O(n)
Did this code successfully run on Leetcode : Yes
Any problem you faced while coding this : No
'''
class MinStack:

def __init__(self):
self.stack = []

def isEmpty(self):
return len(self.stack) == 0

def push(self, val: int) -> None:
self.stack.append(val)

def pop(self) -> None:
if not self.isEmpty():
return self.stack.pop()

def top(self) -> int:
if not self.isEmpty():
return self.stack[-1]

def getMin(self) -> int:
return min(self.stack)
46 changes: 46 additions & 0 deletions MyHashSet.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
'''
Time Complexity : O(1)
Space Complexity : O(n)
Did this code successfully run on Leetcode : Yes
Any problem you faced while coding this : No
'''

class MyHashSet:

def __init__(self):
self.bucket = 1000
self.bucketItem = 1001
self.storage = [[] for i in range(self.bucket)]

def add(self, key: int) -> None:

index = key%self.bucket
if self.storage[index] == []:
self.storage[index] = [False for i in range(self.bucketItem)]

index2 = key//self.bucketItem
self.storage[index][index2] = True

def remove(self, key: int) -> None:
index = key%self.bucket
if self.storage[index]:
index2 = key//self.bucketItem
self.storage[index][index2] = False

def contains(self, key: int) -> bool:
index = key%self.bucket
index2 = key//self.bucketItem
if self.storage[index] != []:
return self.storage[index][index2]
else:
return False

obj = MyHashSet()
print(obj.add(10))
print(obj.add(40))
print(obj.contains(10))
print(obj.contains(30))
print(obj.add(40))
print(obj.contains(40))
print(obj.remove(40))
print(obj.contains(40))