1、求一个矩阵中最大的二维矩阵(元素和最大).如:
1 2 0 3 4
2 3 4 5 1
1 1 5 3 0
中最大的是:
4 5
5 3
要求:(1)写出算法;(2)分析时间复杂度;
(1)
/**
* 求一个矩阵中最大的二维矩阵(元素和最大)
* @param unknown $arr 二维矩阵
* @param unknown $row 二维矩阵行数
* @param unknown $col 二维矩阵列数
* @return unknown[][]
*/
function test1($arr,$row,$col){
$sum0 = 0;
for ($i=0;$i<$row-1;$i++){
for ($j=0;$j<$col-1;$j++){
$sum1 = $arr[$i][$j]+$arr[$i][$j+1]+$arr[$i+1][$j]+$arr[$i+1][$j+1];
if ($sum1 > $sum0){
$l = $i;
$m = $j;
$sum0 = $sum1;
}
}
}
$res= array(array($arr[$l][$m],$arr[$l][$m+1]),
array($arr[$l+1][$m],$arr[$l+1][$m+1]));
return $res;
}
$arr = array(array(1,2,0,3,4),array(2,3,4,5,1),array(1,1,5,3,0));
print_r(test1($arr,3, 5));