Implementation of the MaxStack Data Structure in Go
This repository contains the design of a max stack data structure that supports the stack operations and supports finding the stack’s maximum element.
The code implements the MaxStack interface with the following functions:
- Constructor() Initializes the stack object.
- void push(int x) Pushes element x onto the stack.
- int pop() Removes the element on top of the stack and returns it.
- int top() Gets the element on the top of the stack without removing it.
- int peekMax() Retrieves the maximum element in the stack without removing it.
- int popMax() Retrieves the maximum element in the stack and removes it. If there is more than one maximum element, only remove the top-most one.