📜  数组中局部极值数的PHP程序

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

数组中局部极值数的PHP程序

您将获得一个包含 n 个元素的数组。极值是大于其两个邻居或小于其两个邻居的元素。您必须计算给定数组中的局部极值数。
注意:第一个和最后一个元素不是极值。
例子 :

Input : a[] = {1, 5, 2, 5}
Output : 2

Input : a[] = {1, 2, 3}
Output : 0

方法:为了计算极值的数量,我们必须检查一个元素是最大值还是最小值,即它是大于它的两个邻居还是小于两个邻居。为此,只需遍历数组并为每个元素检查其成为极值的可能性。
注意: a[0] 和 a[n-1] 分别只有一个邻居,它们既不是最小值也不是最大值。

PHP
 $a[$i - 1] and 
                   $a[$i] > $a[$i + 1]);
  
        // check if a[i] is 
        // less than both its 
        // neighbours, then 
        // add 1 to x
        $count += ($a[$i] < $a[$i - 1] and 
                   $a[$i] < $a[$i + 1]);
    }
  
    return $count;
}
  
// Driver Code
$a = array( 1, 0, 2, 1 );
$n = count($a);
echo extrema($a, $n);
  
// This code is contributed by anuj_67.
?>


输出 :

2

有关详细信息,请参阅有关数组中局部极值数的完整文章!