Advertisement
Guest User

Untitled

a guest
Sep 26th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.73 KB | None | 0 0
  1.     public class MyStack
  2.     {
  3.         private Stack<int> MinStack = new Stack<int>();
  4.         private List<int> Stack = new List<int>();
  5.        
  6.         public int Count { get { return Stack.Count; } }
  7.  
  8.         public void Push(int value)
  9.         {
  10.             Stack.Add(value);
  11.             if (MinStack.Count == 0 || value <= MinStack.Peek())
  12.                 MinStack.Push(value);
  13.         }
  14.  
  15.         public int Pop()
  16.         {
  17.             var result = Stack[Stack.Count-1];
  18.             Stack.RemoveAt(Stack.Count - 1);
  19.             if (result==MinStack.Peek())
  20.                 MinStack.Pop();
  21.             return result;
  22.  
  23.         }
  24.  
  25.         public int Min()
  26.         {
  27.             return MinStack.Peek();
  28.         }
  29.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement