diff --git a/Design HashMap.py b/Design HashMap.py new file mode 100644 index 00000000..f1ec1944 --- /dev/null +++ b/Design HashMap.py @@ -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 + \ No newline at end of file diff --git a/Implement Queue using stacks.py b/Implement Queue using stacks.py new file mode 100644 index 00000000..2abde269 --- /dev/null +++ b/Implement Queue using stacks.py @@ -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 \ No newline at end of file