Advertisement
vladimirVenkov

yuxiangmusic 496 Next Greater Element I

Jul 16th, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.52 KB | None | 0 0
  1. public int[] nextGreaterElement(int[] findNums, int[] nums) {
  2.         Map<Integer, Integer> map = new HashMap<>(); // map from x to next greater element of x
  3.         Stack<Integer> stack = new Stack<>();
  4.         for (int num : nums) {
  5.             while (!stack.isEmpty() && stack.peek() < num)
  6.                 map.put(stack.pop(), num);
  7.             stack.push(num);
  8.         }  
  9.         for (int i = 0; i < findNums.length; i++)
  10.             findNums[i] = map.getOrDefault(findNums[i], -1);
  11.         return findNums;
  12.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement