PHP求一个矩阵中最大的二维矩阵(元素和最大)

本文介绍了一种算法,用于寻找给定矩阵中元素和最大的2x2子矩阵,并给出了具体的实现代码及示例。该算法通过遍历所有可能的2x2子矩阵来找到元素和最大的一个。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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));

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值