1.題目。
題目:返回乙個二維整數陣列中最大子陣列的和。
要求:輸入乙個二維整形陣列,陣列裡有正數也有負數。
二維陣列首尾相接,象個一條首尾相接帶子一樣。
陣列中連續的乙個或多個整數組成乙個子陣列,每個子陣列都有乙個和。
求所有子陣列的和的最大值。要求時間複雜度為o(n)。
2.設計思想。
分別求出每一行的最大子矩陣,然後再兩行相加,求出最大子矩陣,一直到所有的行相加,求出最大子矩陣。比較其中最大的子矩陣值,找出最大的。
3.**。
1 #include24.執行結果。using
namespace
std;
3 #include 4 #include 5
#define max 10000
6int max(intb)7
17 n=0;18
}19int max=m[0
];20
for(i=0;i)
2125
return
max;26}
2728
intmain()
2941 cout<
43for(i=0;i<4;i++)
4447
int q=4;48
for(i=0;i<3;i++)
4957 k[q]=max(h);
58 q++;59}
60for(i=0;i<2;i++)
6169 k[q]=max(h);
70 q++;71}
72int t=0
;73 i=0;74
for(int j=0;j<8;j++)
7580 k[q]=max(h);
81 q++;
82 cout<
83int max=k[0
];84
for(i=0;i)
8589 cout<
最大子矩陣的值為:
"<
90 cout<
91return0;
92 }
返回乙個二維整數陣列中最大子陣列的和
作業要求 1 輸入乙個二維整形陣列,陣列裡有正數有負數。2 二維陣列中連續的乙個子矩陣組成乙個子陣列。3 求所有子陣列的和的最大值。設計思想 1 將二維陣列分解成一維陣列,使用一位陣列求最大子陣列之和的方法。2 列舉出每乙個子陣列值的大小,然後進行比較。3 最終求得二維陣列最大子陣列之和。出現的問題...
返回乙個二維整數陣列中最大子陣列的和
一 題目及要求 題目 返回乙個二維整數陣列中最大子陣列的和。要求 輸入乙個二維整形陣列,陣列裡有正數也有負數。二維陣列首尾相接,象個一條首尾相接帶子一樣。陣列中連續的乙個或多個整數組成乙個子陣列,每個子陣列都有乙個和。求所有子陣列的和的最大值。二 解題思路 因為是二維陣列首尾相連,所以將兩個同樣的陣...
返回乙個二維整數陣列中最大子陣列的和。
設計思路 通過之前一維環,進行拓展,成陣列。1 xiaosong du 2015 4 20 2 include 3 include 4 using namespace std 5 define m 3 6 define n 678 void main 9,b 2 n d 0,d1 0 11 int ...