Design a data-structure SpecialStack that supports all the stack operations like push(), pop(), isEmpty(), isFull() and an additional operation getMin() which should return minimum element from the SpecialStack. Your task is to complete all the functions, using stack data-Structure.
Stack: 18 19 29 15 16
Your Task: Since this is a function problem, you don't need to take inputs. You just have to complete 5 functions, push() which takes an integer x as input and pushes it into the stack; pop() which pops out the topmost element from the stack; isEmpty() which returns true/false depending upon whether the stack is empty or not; isFull() which takes the size of the stack as input and returns true/false depending upon whether the stack is full or not (depending upon the
given size); getMin() which returns the minimum element of the stack. Note: The out of the code will be the value returned by getMin() function.
Expected Time Complexity: O(1) for all the 5 functions. Expected Auxiliary Space: O(1) for all the 5 functions.