diff --git a/Hashset.java b/Hashset.java new file mode 100644 index 00000000..5e214637 --- /dev/null +++ b/Hashset.java @@ -0,0 +1 @@ +(https://leetcode.com/problems/design-hashset/) \ No newline at end of file diff --git a/MinStack.java b/MinStack.java new file mode 100644 index 00000000..04c65f18 --- /dev/null +++ b/MinStack.java @@ -0,0 +1,56 @@ +// For push operation O(1) time complexity +//For peek operatio O(1) +// pop operation O(1) +//top and getMIn o(1) +//Space Complexity o(n) extra space + + + + +class MinStack { + Stack st; + Stack minStack; + int min; + + public MinStack() { + st = new Stack<>(); + minStack = new Stack<>(); + min = Integer.MAX_VALUE; + minStack.push(min); + + } + + public void push(int value) { + + st.push(value); + min = Math.min(min,value); + minStack.push(min); + + } + + public void pop() { + st.pop(); + minStack.pop(); + min = minStack.peek(); + + } + + public int top() { + return st.peek(); + + } + + public int getMin() { + return minStack.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