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
36 changes: 36 additions & 0 deletions Design HashMap.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
class MyHashMap:

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 put(self, key: int, value: int) -> None:
bucket=self.hash1(key)
bucketItem=self.hash2(key)
if self.storage[bucket] is None:
if bucket==0:
self.storage[bucket]=[None]*(self.bucketItem+1)
else:
self.storage[bucket]=[None]*(self.bucketItem)
self.storage[bucket][bucketItem]=value
def get(self, key: int) -> int:
bucket=self.hash1(key)
bucketItem=self.hash2(key)
if self.storage[bucket]==None:
return -1
value=self.storage[bucket][bucketItem]
if value is not None:
return value
else:
return -1
def remove(self, key: int) -> None:
bucket=self.hash1(key)
bucketItem=self.hash2(key)
if self.storage[bucket]==None:
return
self.storage[bucket][bucketItem]=None

26 changes: 26 additions & 0 deletions Implement Queue using stacks.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
class MyQueue:

def __init__(self):
self.instack=[]
self.outstack=[]
def push(self, x: int) -> None:
self.instack.append(x)
def pop(self) -> int:
if len(self.outstack)==0:

while len(self.instack)!=0:
self.outstack.append(self.instack.pop())
return self.outstack.pop()

def peek(self) -> int:
if len(self.outstack)==0:
while len(self.instack)!=0:
self.outstack.append(self.instack.pop())

return self.outstack[-1]

def empty(self) -> bool:
if len(self.instack)==0 and len(self.outstack)==0:
return True
else:
return False