diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 00000000..29097fe8 Binary files /dev/null and b/.DS_Store differ diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 00000000..26d33521 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/Design-1.iml b/.idea/Design-1.iml new file mode 100644 index 00000000..b107a2dd --- /dev/null +++ b/.idea/Design-1.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml new file mode 100644 index 00000000..919ce1f1 --- /dev/null +++ b/.idea/codeStyles/Project.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml new file mode 100644 index 00000000..a55e7a17 --- /dev/null +++ b/.idea/codeStyles/codeStyleConfig.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 00000000..f5bd2dfe --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 00000000..cc065d00 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 00000000..35eb1ddf --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/MinStack.java b/MinStack.java new file mode 100644 index 00000000..9c549dfc --- /dev/null +++ b/MinStack.java @@ -0,0 +1,42 @@ +import java.util.Stack; + +public class MinStack { + private Stack st; + private Stack minSt; + private static int min; + + public MinStack() { + this.min = Integer.MAX_VALUE; + this.st = new Stack<>(); + this.minSt = new Stack<>(); + this.minSt.push(this.min); + } + + public void push(int val) { + min = Math.min(min, val); + st.push(val); + minSt.push(min); + } + + public void pop() { + int re = st.pop(); + minSt.pop(); + min = minSt.peek(); + } + + public int top() { + return st.peek(); + } + + public int getMin() { + return min; + } + + public static void main(String args[]){ + MinStack ms = new MinStack(); + ms.push(10); + ms.push(4); + System.out.println(ms); + + } +} diff --git a/MyHashSet.java b/MyHashSet.java new file mode 100644 index 00000000..66f3c1d8 --- /dev/null +++ b/MyHashSet.java @@ -0,0 +1,68 @@ +import java.util.LinkedList; +import java.util.List; + +class Bucket{ + private List container; + + public Bucket(){ + this.container=new LinkedList(); + } + + public void insert(Integer val){ + int index=this.container.indexOf(val); + if(index==-1){ + this.container.addFirst(val); + } + } + + public void remove(Integer val){ + this.container.remove(val); + } + + public boolean contains(Integer val){ + int index=this.container.indexOf(val); + return index!=-1; + } + +} +class MyHashSet { + + //use a prime number for bucket size + int bucketSize=769; + Bucket[] buckets; + + public MyHashSet() { + this.buckets=new Bucket[this.bucketSize]; + + for(int i=0; i < bucketSize; i++){ + this.buckets[i]=new Bucket(); + } + } + + public int getIndex(int key){ + return key % bucketSize; + } + + public void add(int key) { + int bucketIndex=this.getIndex(key); + this.buckets[bucketIndex].insert(key); + } + + public void remove(int key) { + int bucketIndex=this.getIndex(key); + this.buckets[bucketIndex].remove(key); + } + + public boolean contains(int key) { + int bucketIndex=this.getIndex(key); + return this.buckets[bucketIndex].contains(key); + } +} + +/** + * Your amaan29.MyHashSet object will be instantiated and called as such: + * amaan29.MyHashSet obj = new amaan29.MyHashSet(); + * obj.add(key); + * obj.remove(key); + * boolean param_3 = obj.contains(key); + */ \ No newline at end of file diff --git a/out/production/Design-1/.idea/.gitignore b/out/production/Design-1/.idea/.gitignore new file mode 100644 index 00000000..26d33521 --- /dev/null +++ b/out/production/Design-1/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/out/production/Design-1/.idea/Design-1.iml b/out/production/Design-1/.idea/Design-1.iml new file mode 100644 index 00000000..b107a2dd --- /dev/null +++ b/out/production/Design-1/.idea/Design-1.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/out/production/Design-1/.idea/codeStyles/Project.xml b/out/production/Design-1/.idea/codeStyles/Project.xml new file mode 100644 index 00000000..919ce1f1 --- /dev/null +++ b/out/production/Design-1/.idea/codeStyles/Project.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/out/production/Design-1/.idea/codeStyles/codeStyleConfig.xml b/out/production/Design-1/.idea/codeStyles/codeStyleConfig.xml new file mode 100644 index 00000000..a55e7a17 --- /dev/null +++ b/out/production/Design-1/.idea/codeStyles/codeStyleConfig.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/out/production/Design-1/.idea/misc.xml b/out/production/Design-1/.idea/misc.xml new file mode 100644 index 00000000..f5bd2dfe --- /dev/null +++ b/out/production/Design-1/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/out/production/Design-1/.idea/modules.xml b/out/production/Design-1/.idea/modules.xml new file mode 100644 index 00000000..cc065d00 --- /dev/null +++ b/out/production/Design-1/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/out/production/Design-1/.idea/vcs.xml b/out/production/Design-1/.idea/vcs.xml new file mode 100644 index 00000000..35eb1ddf --- /dev/null +++ b/out/production/Design-1/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/out/production/Design-1/MinStack.class b/out/production/Design-1/MinStack.class new file mode 100644 index 00000000..ce83615d Binary files /dev/null and b/out/production/Design-1/MinStack.class differ diff --git a/out/production/Design-1/README.md b/out/production/Design-1/README.md new file mode 100644 index 00000000..6907f832 --- /dev/null +++ b/out/production/Design-1/README.md @@ -0,0 +1,13 @@ +Explain your approach in **three sentences only** at top of your code + +# Design-1 + +## Problem 1:(https://leetcode.com/problems/design-hashset/) + + + +## Problem 2: +Design MinStack (https://leetcode.com/problems/min-stack/) + + +