【发布时间】:2019-10-18 07:54:46
【问题描述】:
我有矩阵,想法是编写一个代码,给出每一行的最大值和最小值,没有任何函数,只是纯逻辑。 例如:
最大数量应为: 567、789、900、906、897
最小数字应该是: 45、100、191、323、101
[45, 456, 321, 344, 567],
[100, 434, 173, 400, 789],
[191, 211, 457, 809, 900],
[431, 323, 432, 805, 906],
[708, 232, 897, 101, 696]
$arrNxm = [
[45, 456, 321, 344, 567],
[100, 434, 173, 400, 789],
[191, 211, 457, 809, 900],
[431, 323, 432, 805, 906],
[708, 232, 897, 101, 696]
];
$rows = 5;
$cols = 5;
$intValue = 1;
$max = $arrNxm[0][0];
for($row = 0; $row < $rows; $row++)
{
$max = $arrNxm[$row][0];
for($col = 0; $col < $cols; $col++)
{
if($arrNxm[$row][$col] > $max)
{
$max = $arrNxm[$row][$col];
}
}
}
echo "<pre>";
var_dump($max);
echo "</pre>";
当我运行我的代码时,我只得到一个数字,我想不出我应该做什么才能得到正确的输出。
【问题讨论】:
-
首先,它是每个
row而不是column的最大值和最小值! -
var_dump($max)在内部for. -
稍有改变就会跳过 1 次比较,将内部循环更改为
for($col = 1,因为您总是将值设置为 0,所以为什么要与自身进行比较。