Untitled
user_0781376
plain_text
4 days ago
925 B
50
Indexable
package Day2; import java.util.Stack; public class NextGreaterElement { public static void findNextGreaterElement(int[] arr) { Stack<Integer> stack = new Stack<>(); int n = arr.length; int[] nge = new int[n]; // Traverse from right to left for (int i = n - 1; i >= 0; i--) { while (!stack.isEmpty() && stack.peek() <= arr[i]) { stack.pop(); // Remove smaller elements } nge[i] = stack.isEmpty() ? -1 : stack.peek(); // Assign NGE or -1 stack.push(arr[i]); // Push current element to stack } // Print the results for (int i = 0; i < n; i++) { System.out.println(arr[i] + " --> " + nge[i]); } } public static void main(String[] args) { int[] arr = {4, 5, 2, 25}; findNextGreaterElement(arr); } }
Editor is loading...
Leave a Comment