1、求一个矩阵中最大的二维矩阵(元素和最大).如:
1 2 0 3 4
2 3 4 5 1
1 1 5 3 0
中最大的是:
4 5
5 3
要求:(1)写出算法;(2)分析时间复杂度;
function struct($arr, $row, $col)
{
$sum=0;
for ($i=0;$i<$row-1;$i++){
for ($j=0;$j<$col;$j++){
$sum1=$arr[$i][$j]+$arr[$i][$j+1]+$arr[$i+1][$j]+$arr[$i+1][$j+1];
if($sum1>$sum){
$row_num=$i;
$clo_num=$j;
$sum=$sum1;
}
}
}
$result=array(array($arr[$row_num][$clo_num],$arr[$row_num][$clo_num+1]),array($arr[$row_num+1][$clo_num],$arr[$row_num+1][$clo_num+1]));
return $result;
}
$arr = array(array(1, 2, 0, 3, 4), array(2, 3, 4, 5, 1), array(1, 1, 5, 3, 0));
print_r(struct($arr, 3, 5));
时间复杂度O(n*m)