📜  寻找下一个更大元素的 PHP 程序

📅  最后修改于: 2022-05-13 01:54:11.296000             🧑  作者: Mango

寻找下一个更大元素的 PHP 程序

给定一个数组,打印每个元素的下一个更大元素 (NGE)。元素 x 的下一个更大元素是数组中 x 右侧的第一个更大元素。对于不存在更大元素的元素,将下一个更大的元素视为-1。

例子:

  1. 对于数组,最右边的元素总是具有下一个更大的元素为 -1。
  2. 对于按降序排序的数组,所有元素的下一个较大元素为 -1。
  3. 对于输入数组 [4, 5, 2, 25],每个元素的下一个更大的元素如下。
Element       NGE
   4      -->   5
   5      -->   25
   2      -->   25
   25     -->   -1

d)对于输入数组 [13, 7, 6, 12},每个元素的下一个更大的元素如下。

Element        NGE
   13      -->    -1
   7       -->     12
   6       -->     12
   12      -->     -1

方法1(简单)
使用两个循环:外部循环一一挑选所有元素。内循环为外循环选取的元素寻找第一个更大的元素。如果找到更大的元素,则将该元素打印为下一个,否则打印-1。

下面是上述方法的实现:

PHP


输出
11 -- 13
13 -- 21
21 -- -1
3 -- -1

时间复杂度: O(N 2 )
辅助空间: O(1)

有关详细信息,请参阅有关 Next Greater Element 的完整文章!