CODE

MINIMUM STACK

Stack


public class MinStack {

  List<int> stack;

  public MinStack() {
    stack = new List<int>();
  }
  
  public void Push(int val) {
    stack.Insert(0, val);        
  }
  
  public void Pop() {
    if (stack.Count > 0)
      stack.RemoveAt(0);        
  }
  
  public int Top() {
    if (stack.Count > 0)
      return stack[0];
    return -1;    
  }
  
  public int GetMin() {
    int[] stackArr = new int[stack.Count];
    stack.CopyTo(stackArr);
    Array.Sort(stackArr);
    return stackArr[0];        
  }
}						
					
22
© 2025 Dallas Scott