From ac1b6b29a007b9443c3a9b895a9ffc0abed12d26 Mon Sep 17 00:00:00 2001 From: bansi radadiya Date: Wed, 3 Jun 2026 17:42:07 -0700 Subject: [PATCH] Done Design-1 --- Design HashMap.java | 69 +++++++++++++++++++++++++++++++++++++++++++++ MinStack.java | 41 +++++++++++++++++++++++++++ Sample.java | 7 ----- 3 files changed, 110 insertions(+), 7 deletions(-) create mode 100644 Design HashMap.java create mode 100644 MinStack.java delete mode 100644 Sample.java diff --git a/Design HashMap.java b/Design HashMap.java new file mode 100644 index 000000000..3a006c8ef --- /dev/null +++ b/Design HashMap.java @@ -0,0 +1,69 @@ +// Time Complexity : +// Space Complexity : +// Did this code successfully run on Leetcode : +// Any problem you faced while coding this : + + +// Your code here along with comments explaining your approach + + + +//Leetcode 706. Design HashMap + +class MyHashSet { + int primaryb; + int secondaryb; + boolean storage[][]; + public MyHashSet() { + this.primaryb = 1000; + this.secondaryb = 1000; + this.storage = new boolean[primaryb][]; + } + private int getprimaryhash(int key){ + return key%primaryb; + } + private int getsecondaryhash(int key){ + return key/secondaryb; + } + + public void add(int key) { + int primaryIndex = getprimaryhash(key); + + if(storage[primaryIndex] == null){ + if(primaryIndex == 0){ + storage[primaryIndex] = new boolean[secondaryb + 1]; + } else { + storage[primaryIndex] = new boolean[secondaryb]; + } + } + + int secondaryIndex = getsecondaryhash(key); + storage[primaryIndex][secondaryIndex] = true; +} + + public void remove(int key) { + int primaryIndex = getprimaryhash(key); + + if(storage[primaryIndex] == null){ + return; + } + + int secondaryIndex = getsecondaryhash(key); + storage[primaryIndex][secondaryIndex] = false; +} + + public boolean contains(int key) { + int primaryIndex= getprimaryhash(key); + if(storage[primaryIndex]==null){return false;} + int secondaryIndex = getsecondaryhash(key); + return storage[primaryIndex][secondaryIndex]; + } +} + +/** + * Your MyHashSet object will be instantiated and called as such: + * MyHashSet obj = new MyHashSet(); + * obj.add(key); + * obj.remove(key); + * boolean param_3 = obj.contains(key); + */ \ No newline at end of file diff --git a/MinStack.java b/MinStack.java new file mode 100644 index 000000000..eb01c0c97 --- /dev/null +++ b/MinStack.java @@ -0,0 +1,41 @@ +class MinStack { + Stack st; + Stack minst; + + int min; + public MinStack() { + this.st = new Stack<>(); + this.minst = new Stack<>(); + this.min = Integer.MAX_VALUE; + } + + public void push(int val) { + min = Math.min(min,val); + st.push(val); + minst.push(min); + } + + public void pop() { + st.pop(); + minst.pop(); + min = minst.peek(); + } + + public int top() { + return st.peek(); + + } + + public int getMin() { + return min; + } +} + +/** + * Your MinStack object will be instantiated and called as such: + * MinStack obj = new MinStack(); + * obj.push(val); + * obj.pop(); + * int param_3 = obj.top(); + * int param_4 = obj.getMin(); + */ \ No newline at end of file diff --git a/Sample.java b/Sample.java deleted file mode 100644 index 1739a9cbc..000000000 --- a/Sample.java +++ /dev/null @@ -1,7 +0,0 @@ -// Time Complexity : -// Space Complexity : -// Did this code successfully run on Leetcode : -// Any problem you faced while coding this : - - -// Your code here along with comments explaining your approach