Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package nextgreaterelement;
- import java.util.Arrays;
- import java.util.Stack;
- public class app {
- public static void main(String[] args) {
- int arr[] = {1, 2, 4, 8, 6, 10};
- System.out.println(Arrays.toString(nextGreater(arr)));
- }
- static int[] nextGreater(int arr[]) {
- Stack<Integer> stack = new Stack<>();
- stack.push(arr[arr.length-1]);
- int a[] = new int[arr.length];
- a[arr.length-1] = -1;
- for (int i = arr.length-2; i >= 0; i--) {
- while (!stack.isEmpty() &&
- stack.peek() <= arr[i]) {
- stack.pop();
- }
- if (stack.isEmpty())
- a[i] = -1;
- else
- a[i] = stack.peek();
- stack.push(arr[i]);
- }
- return a;
- }
- }
- //Output:
- // 2 4 8 10 10 -1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement