From 3913765ff18403626354ca30feb257b98baab901 Mon Sep 17 00:00:00 2001 From: Sangram Vuppala <92066602+Erlybird@users.noreply.github.com> Date: Wed, 29 Jul 2026 19:29:33 -0700 Subject: [PATCH 1/3] test --- minStack.java | 1 + 1 file changed, 1 insertion(+) create mode 100644 minStack.java diff --git a/minStack.java b/minStack.java new file mode 100644 index 00000000..c767de88 --- /dev/null +++ b/minStack.java @@ -0,0 +1 @@ +//test \ No newline at end of file From 360903c867101489744bc2de50835256704399de Mon Sep 17 00:00:00 2001 From: Lakshmi Durga Date: Wed, 29 Jul 2026 22:03:56 -0700 Subject: [PATCH 2/3] test-2 --- minStack.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/minStack.java b/minStack.java index c767de88..9a090fdf 100644 --- a/minStack.java +++ b/minStack.java @@ -1 +1 @@ -//test \ No newline at end of file +//test - 2 From 849fb439cc57c5ac23307de810538261f4e36abc Mon Sep 17 00:00:00 2001 From: Lakshmi Durga Date: Wed, 29 Jul 2026 22:14:52 -0700 Subject: [PATCH 3/3] Completed both the sums --- Design HashSet.java | 50 ++++++++++++++++++++++++++++++++++++++++++ minStack.java | 53 ++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 102 insertions(+), 1 deletion(-) create mode 100644 Design HashSet.java diff --git a/Design HashSet.java b/Design HashSet.java new file mode 100644 index 00000000..bce23d17 --- /dev/null +++ b/Design HashSet.java @@ -0,0 +1,50 @@ +//Approach : +//TC : O(1) +//SC : O(1) +class MyHashSet { + int primaryKeyLen = 1000; + int secondaryKeyLen = 1000; + boolean[][] set; + + public MyHashSet() { + set = new boolean[1000][]; //SC: 10^3 = constant + } + + public void add(int key) { //TC: O(1) // SC: 10^3= constant = O(1) + int z = key % primaryKeyLen; + if (set[z] == null) { + set[z] = new boolean[1000]; //SC: 10^3 = constant + } + int s = key / 1000; + set[z][s] = true; + } + + public void remove(int key) { //TC: O(1), SC: O(1) + int z = key % 1000; + int s = key / 1000; + if (set[z] == null) { + return; + } + set[z][s] = false; + } + + public boolean contains(int key) {//TC: O(1), SC:O(1) + int z = key % 1000; + int s = key / 1000; + if (set[z] == null) { + return false; + } + if (set[z][s] == true) { + return true; + } + return false; + } +} + +/** + * 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 index 9a090fdf..a95f27c5 100644 --- a/minStack.java +++ b/minStack.java @@ -1 +1,52 @@ -//test - 2 + +import java.util.*; +//Approach: +//TC: O(1) +//SC: 2*O(N) + +class MinStack { + + Stack st; + Stack minSt; + + public MinStack() { + st = new Stack(); + minSt = new Stack(); + minSt.push(Integer.MAX_VALUE); + } + + public void push(int value) { + + if (minSt.peek() >= value) { + minSt.push(value); + + } + st.push(value); + } + + public void pop() { + + if (st.peek().equals(minSt.peek())) { + minSt.pop(); + } + st.pop(); + + } + + public int top() { + return st.peek(); + } + + public int getMin() { + return minSt.peek(); + } +} + +/** + * Your MinStack object will be instantiated and called as such: + * MinStack obj = new MinStack(); + * obj.push(value); + * obj.pop(); + * int param_3 = obj.top(); + * int param_4 = obj.getMin(); + */ \ No newline at end of file