35 求乙個矩陣中最大的二維矩陣

2022-03-24 12:46:48 字數 1352 閱讀 7055

/*

求1個矩陣中最大的二維矩陣

1。 單就這一題來說,首先方法就是遍歷 */

#include

using

namespace

std;

int a[5]=,,,

};int m=3

;int n=5

;void max_matrix(void

) }

}cout

<<"

矩陣是"

<"

"<1]

<1][s]<<"

"<1][s+1]<}int main(void

)

/*

還有1種情況,給定1個m*n的矩陣,讓你求這個最大的子矩陣的和是多少,不再是2維矩陣了

假設矩陣是

a11 a12 a13 .... a1n

a21 a22 a23 .... a2n..

.am1 am2 am3 .... amn

其中有ari ari+1 ari+2 ... arj

ar+1i .....

aki aki+1 ......... akj

是和最大的子矩陣,即有(ari + ar+1i + ar+2i +...+ aki)+(ari+1 + ar+1i+1 + ... + aki+1)+(...)和是最大的,我們把每一列的和都看成1個數

用a[i],a[i+1],,,,a[j]來表示,那麼就是a[i]+a[i+1]+...+a[j]是最大的,就變成求這個陣列中連續的值的最大和問題,因為在a[1],a[2],,,a[i]..a[j]...a[n]中a[i]+..+a[j]是最大的

做法就是,第r行到第k行,我們把每一列相加,看成是1個陣列,然後求這個陣列的連續和最大值,那麼求出的就是第r到k行的,第i到第j列就是這個小矩陣的最大自矩陣和了 */

#include

using

namespace

std;

int a[5]=,,,

};int m=3

;int n=5

;int max_array(int*array)

int max_sum=-65535

;

for(i=0;i)

if(c[i]>max_sum)

max_sum=c[i];

delete c;

return

max_sum;

}int

max_matrix()

}delete b;

return

max_sum;

}int main(void

)

求乙個矩陣中最大的二維矩陣 元素和最大

35.矩陣 求乙個矩陣中最大的二維矩陣 元素和最大 如 1 2 0 3 4 2 3 4 5 1 1 1 5 3 0 中最大的是 4 55 3 要求 1 寫出演算法 2 分析時間複雜度 3 用c寫出關鍵 遍歷每個二維矩陣,記錄和最大的index。時間複雜度o m n coder lee,2012032...

求乙個矩陣中最大的二維矩陣 元素和最大

求乙個矩陣中最大的二維矩陣 元素和最大 如 1 2 0 3 4 2 3 4 5 1 1 1 5 3 0 中最大的是 4 55 3 要求 1 寫出演算法 2 分析時間複雜度 3 用c寫出關鍵 public class maxsubmatrix int b int result msm.findsumm...

求乙個矩陣中最大的二維矩陣 元素和最大

一,題目 求乙個矩陣中最大的 二維矩陣 元素和最大 如 1 2 0 3 4 2 3 4 5 1 1 1 5 3 0 中最大的是 4 5 5 3要求 1 寫出演算法 2 分析時間複雜度 3 用c 寫出關鍵 二,分析 假設最大子矩陣的結果為從第r行到 k行 從第i列到 j列的子矩陣,如下所示 ari 表...