From 5e1b73b03789ae614c3e1dcf3da5c7b260695e04 Mon Sep 17 00:00:00 2001 From: Ayush Chaudhary Date: Wed, 3 Jun 2026 12:51:44 -0500 Subject: [PATCH 1/2] implement hash set --- Sample.java | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/Sample.java b/Sample.java index 1739a9cb..aadaf35c 100644 --- a/Sample.java +++ b/Sample.java @@ -5,3 +5,64 @@ // Your code here along with comments explaining your approach +class MyHashSet { + + private boolean storage[][]; + private int arraySize1; + private int arraySize2; + + + public MyHashSet() { + + this.arraySize1 = 1000; + this.arraySize2 = 1000; + this.storage = new boolean[arraySize1][]; + + } + + private int hash1(int key){ + + return key%arraySize1; + + } + + private int hash2(int key){ + return key/arraySize2; + } + + public void add(int key) { + + int arrayIndex1 = hash1(key); + int arrayIndex2 = hash2(key); + + if(storage[arrayIndex1] == null){ + if(arrayIndex1 == 0){ + storage[arrayIndex1]= new boolean[arraySize2+1]; + }else{ + storage[arrayIndex1]= new boolean[arraySize2]; + } + } + + storage[arrayIndex1][arrayIndex2] = true; + } + + public void remove(int key) { + + int arrayIndex1 = hash1(key); + int arrayIndex2 = hash2(key); + + if( storage[arrayIndex1] == null) return; + storage[arrayIndex1][arrayIndex2] = false; + } + + public boolean contains(int key) { + + int arrayIndex1 = hash1(key); + int arrayIndex2 = hash2(key); + + if(storage[arrayIndex1] == null) return false; + + return storage[arrayIndex1][arrayIndex2]; + + } +} From d8ecaabc0a7b38526bdd401ae638081bfe7f3a80 Mon Sep 17 00:00:00 2001 From: Ayush Chaudhary Date: Wed, 3 Jun 2026 13:14:59 -0500 Subject: [PATCH 2/2] add min stack code --- MinStack.java | 36 +++++++++++++++++++++++++++++++++++ Sample.java => MyHashSet.java | 0 2 files changed, 36 insertions(+) create mode 100644 MinStack.java rename Sample.java => MyHashSet.java (100%) diff --git a/MinStack.java b/MinStack.java new file mode 100644 index 00000000..4c8bcb1f --- /dev/null +++ b/MinStack.java @@ -0,0 +1,36 @@ +import java.util.Stack; + +class MinStack { + + int min; + Stack st; + public MinStack() { + st = new Stack<>(); + min = Integer.MAX_VALUE; + st.push(min); + } + + public void push(int val) { + if(val <= min){ + st.push(min); + min = val; + } + st.push(val); + } + + public void pop() { + int valPopped = st.pop(); + if(valPopped == min){ + min = st.pop(); + } + } + + public int top() { + + return st.peek(); + } + + public int getMin() { + return min; + } +} diff --git a/Sample.java b/MyHashSet.java similarity index 100% rename from Sample.java rename to MyHashSet.java