📅  最后修改于: 2023-12-03 15:40:02.785000             🧑  作者: Mango
在开发一个应用程序时,我们经常需要查找数组中的局部极值数。这些数可以指向数组中某个位置的最大值或最小值。在本文中,我们将介绍如何使用PHP来查找一个数组中的局部极值数。
我们可以通过循环数组中的元素来查找极值数。在每次循环中,我们将检查当前元素是否是局部极值。如果是,我们将其添加到结果数组中。
以下是 PHP 代码,用于查找局部极值数:
function findPeaks($arr) {
$n = count($arr);
$peaks = array();
for ($i = 1; $i < $n-1; $i++) {
if ($arr[$i] > $arr[$i-1] && $arr[$i] > $arr[$i+1]) {
$peaks[] = $arr[$i];
}
if ($arr[$i] < $arr[$i-1] && $arr[$i] < $arr[$i+1]) {
$peaks[] = $arr[$i];
}
}
return $peaks;
}
$arr = array(2,4,1,5,6,9,7,8,5);
print_r(findPeaks($arr));
我们传递了一个数组 $arr
作为参数到 findPeaks
函数中。在该函数中,我们使用 count
函数来获取数组的长度 $n
。这将使我们遍历该数组中的每个元素。
接下来,我们创建一个名为 $peaks
的空数组。此数组将用于存储我们找到的所有局部极值。
在循环中,我们从第二个元素开始遍历到数组的倒数第二个元素。这是因为我们不能找到数组的第一个和最后一个元素的局部极值数,因为它们没有两个相邻的元素。
对于每个元素,我们将检查它是否是局部极值数。我们使用 if 语句来检查该元素是否大于前面的元素和后续元素,如果是,则表示该元素是局部最大值。否则,如果该元素小于前面的元素和后续元素,则表示该元素是局部最小值。
如果我们找到了一个局部极值数,我们将其添加到 $peaks
数组中。最后,我们将该数组作为结果返回。
在本文中,我们介绍了如何使用 PHP 来查找数组中的局部极值数。我们编写了一个简单的函数来完成此任务,并对代码进行了解释和分析。希望这些信息对你有所帮助。