Php Program To Find Next Greater Element

Given an array, print the Next Greater Element (NGE) for every element. The Next greater Element for an element x is the first greater element on the right side of x in the array. Elements for which no greater element exist, consider the next greater element as -1.
Examples:
- For an array, the rightmost element always has the next greater element as -1.
- For an array that is sorted in decreasing order, all elements have the next greater element as -1.
- For the input array [4, 5, 2, 25], the next greater elements for each element are as follows.
Element NGE 4 --> 5 5 --> 25 2 --> 25 25 --> -1
d) For the input array [13, 7, 6, 12}, the next greater elements for each element are as follows.
Element NGE 13 --> -1 7 --> 12 6 --> 12 12 --> -1
Method 1 (Simple)
Use two loops: The outer loop picks all the elements one by one. The inner loop looks for the first greater element for the element picked by the outer loop. If a greater element is found then that element is printed as next, otherwise, -1 is printed.
Below is the implementation of the above approach:
PHP
<?php // Simple PHP program to print next // greater elements in a given array /* prints element and NGE pair for all elements of arr[] of size n */function printNGE($arr, $n) { for ($i = 0; $i < $n; $i++) { $next = -1; for ($j = $i + 1; $j < $n; $j++) { if ($arr[$i] < $arr[$j]) { $next = $arr[$j]; break; } } echo $arr[$i]." -- ". $next." "; } } // Driver Code $arr= array(11, 13, 21, 3); $n = count($arr); printNGE($arr, $n); // This code is contributed by Sam007 ?> |
11 -- 13 13 -- 21 21 -- -1 3 -- -1
Time Complexity: O(N2)
Auxiliary Space: O(1)
Please refer complete article on Next Greater Element for more details!
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 zambiatek!



