题目:求一个矩阵中最大的二维矩阵(元素和最大),如:
1 2 0 3 4
2 3 4 5 1
1 1 5 3 0
中最大的是:
4 5
5 3
要求:(1)写出算法;(2)分析时间复杂度;(3)用C写出关键代码。
解题思路:暴力解法,将原始数组的每个二维子数组的和计算出来,找出最大值,再将此最大值对应的二维子数组输出即可,时间复杂度为O(m*n),m为行数,n为列数,代码如下:
#include <iostream>
#include <assert.h>
using namespace std;
typedef struct matrix{
int row;
int column;
matrix(){
row = column = 0;
}
}matrix1;
matrix1 getmaxInTwoMatrix(int matrix[3][5], int row, int column){
assert(matrix);
assert(row >= 2);
assert(column >= 2);
matrix1 matrix2;
int max = 0;
int temp = 0;
for (int i = 0; i < row - 1; i++){
for (int j = 0; j < column - 1; j++){
temp = ma