Untitled
user_0781376
plain_text
03/12/2025 9:18 AM
1.2 KB
66
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