Advertisement
Guest User

Maximum Element

a guest
May 20th, 2018
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.51 KB | None | 0 0
  1. package stacksAndQueues;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.IOException;
  5. import java.io.InputStreamReader;
  6. import java.util.ArrayDeque;
  7. import java.util.Deque;
  8.  
  9. public class MaximumElements {
  10.     public static void main(String[] args) throws IOException {
  11.         BufferedReader scanner = new BufferedReader(new InputStreamReader(System.in));
  12.         ArrayDeque<Integer> stack = new ArrayDeque<>();
  13.         int n = Integer.parseInt(scanner.readLine());
  14.         int maxElement = Integer.MIN_VALUE;
  15.         StringBuilder sb = new StringBuilder(n);
  16.         for (int i = 0; i <n; i++) {
  17.             String[] input = scanner.readLine().split(" ");
  18.             switch (input[0]) {
  19.                 case "1":
  20.                     int el = Integer.parseInt(input[1]);
  21.                     stack.push(el);
  22.                     if (maxElement < el) maxElement = el;
  23.                     break;
  24.                 case "2":
  25.                    el = stack.pop();
  26.                    if (el == maxElement) maxElement = maxEl(stack);
  27.                     break;
  28.                 case "3":
  29.                     sb.append(maxElement).append(System.lineSeparator());
  30.                     break;
  31.             }
  32.         }
  33.         System.out.println(sb.toString());
  34.     }
  35.     static int maxEl(Deque<Integer> stack) {
  36.         int bestInt = Integer.MIN_VALUE;
  37.         for (Integer integer : stack) {
  38.             if (integer>bestInt){
  39.                 bestInt = integer;
  40.             }
  41.         }
  42.         return bestInt;
  43.     }
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement