Skip to content
Related Articles
Get the best out of our app
GFG App
Open App
geeksforgeeks
Browser
Continue

Related Articles

Php Program To Find Next Greater Element

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

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: 

  1. For an array, the rightmost element always has the next greater element as -1.
  2. For an array that is sorted in decreasing order, all elements have the next greater element as -1.
  3. 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
?>


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!


My Personal Notes arrow_drop_up
Last Updated : 17 Dec, 2021
Like Article
Save Article
Similar Reads
Related Tutorials