方阵中最大值和最小值的 PHP 程序。
给定一个 n*n 阶的方阵,从给定的矩阵中找出最大值和最小值。
例子:
Input : arr[][] = {5, 4, 9,
2, 0, 6,
3, 1, 8};
Output : Maximum = 9, Minimum = 0
Input : arr[][] = {-5, 3,
2, 4};
Output : Maximum = 4, Minimum = -5
天真的方法:
我们使用线性搜索分别找到矩阵的最大值和最小值。需要比较的次数是 n 2用于查找最小值和 n 2用于查找最大元素。总比较等于 2n 2 。
配对比较(高效方法):
从矩阵中选择两个元素,一个从矩阵的一行的开头,另一个从矩阵的同一行的末尾,比较它们,然后将它们中的较小者与矩阵的最小值进行比较,将它们中的较大者与矩阵的最大值进行比较矩阵。我们可以看到,对于两个元素,我们需要 3 次比较,因此为了遍历整个矩阵,我们总共需要 3/2 n 2 次比较。
注意:这是数组的最大最小值方法3的扩展形式。
PHP
$arr[$i][$n - $j - 1])
{
if ($min > $arr[$i][$n - $j - 1])
$min = $arr[$i][$n - $j - 1];
if ($max< $arr[$i][$j])
$max = $arr[$i][$j];
}
else
{
if ($min > $arr[$i][$j])
$min = $arr[$i][$j];
if ($max < $arr[$i][$n - $j - 1])
$max = $arr[$i][$n - $j - 1];
}
}
}
echo "Maximum = " , $max
,", Minimum = " , $min;
}
// Driver Code
$arr = array(array(5, 9, 11),
array(25, 0, 14),
array(21, 6, 4));
maxMin($arr, 3);
// This code is contributed by anuj_67.
?>
输出:
Maximum = 25, Minimum = 0
请参阅有关方阵中的最大值和最小值的完整文章。更多细节!