Php Program To Find Next Greater Element
Last Updated :
17 Dec, 2021
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
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 ."
";
}
}
$arr = array (11, 13, 21, 3);
$n = count ( $arr );
printNGE( $arr , $n );
?>
|
Output
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!
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...