Advertisement
Guest User

Untitled

a guest
Sep 18th, 2019
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.41 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3.  
  4. namespace LeetCode155
  5. {
  6. public class MinStack {
  7.  
  8. Stack<int> myStack = new Stack<int>();
  9. Stack<int> minStack = new Stack<int>();
  10.  
  11. /** initialize your data structure here. */
  12. public MinStack() {
  13.  
  14. }
  15.  
  16. public void Push(int x) {
  17. myStack.Push(x);
  18. if(minStack.Count == 0 || minStack.Peek() >= x) {
  19. minStack.Push(x);
  20. }
  21.  
  22. }
  23.  
  24. public void Pop() {
  25. int curVal = myStack.Peek();
  26. if(curVal == minStack.Peek())
  27. minStack.Pop();
  28.  
  29. myStack.Pop();
  30.  
  31. }
  32.  
  33. public int Top() {
  34. return myStack.Peek();
  35.  
  36. }
  37.  
  38. public int GetMin() {
  39. return minStack.Peek();
  40. }
  41. }
  42.  
  43.  
  44. class Program
  45. {
  46. static void Main(string[] args)
  47. {
  48. MinStack myStack = new MinStack();
  49. myStack.Push(1);
  50. myStack.Push(2);
  51. myStack.Push(-1);
  52. myStack.Push(-1);
  53. Console.WriteLine(myStack.GetMin());
  54. Console.WriteLine(myStack.Top());
  55. myStack.Push(3);
  56. myStack.Pop();
  57. myStack.Pop();
  58. Console.WriteLine(myStack.GetMin());
  59. Console.WriteLine(myStack.Top());
  60. }
  61. }
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement