求二維陣列的最大子陣列 曹玉松 蔡迎盈

2022-05-17 23:36:59 字數 520 閱讀 1877

繼上節課老師讓求了一維陣列最大的子陣列後,這節課堂上,老師加深了難度,給了乙個二維陣列,求最大子陣列,開始覺得很容易,但是自己思考起來感覺這個演算法很困難,既需要考慮陣列直接的連續,又要求出最大的,老師提供的思路是找最大的數所在的位置是結果的可能性會大一點,或者是負數少的可能性會大一些,但這也只是乙個概率問題,求解起來還是比較麻煩,也想過用二叉樹,但是不能確保陣列的連續性,所以只能想用乙個個遍歷的方法,經過自己的思考後又上網看了別人的程式,下面大家一起**一下吧!

#include #include 

int main(void

)

if (p>max) maxn=p; }}

printf(

"%d\n

",max);

return0;

}

常用於陣列的初始化, st是乙個陣列,將它的所有元素初始化為0 memset(st/*陣列名*/,0/*要賦予的值*/ ,sizeof(st)/*陣列元素個數*/);

二維陣列求最大子陣列

程式要使用的陣列放在乙個叫 input.txt 的檔案中,檔案格式是 陣列的行數,陣列的列數,每一行的元素,用逗號分開 每乙個數字都是有符號32位整數,當然,行數和列數都是正整數。演算法思想 對於一維的陣列,我們可以很容易用動態規劃的方法求得最大子陣列 所以我們將i 0.n j i.n 列舉所有行的...

求二維陣列中最大子陣列的和

題目 給出乙個 m n 的二維矩陣 元素可為正可為負 求該二維矩陣的乙個子矩陣,且此子矩陣中所有元素的和最大,並輸出該矩陣的和。分析 因為輸出的是矩陣,把每列資料中第i行到第j行進行相加,這樣得到乙個列矩陣,a 1.n 這樣就轉化成乙個一維整數陣列中最大子陣列的和,通過求得迴圈不同第i行到第j行之間...

二維陣列最大子陣列和

陣列輸出 int sum a 0 0 b,c n int imin 0,imax 0,jmin 0,jmax 0 for i 0 i c i a 0 i for i 1 i 4 i else b c j if sum b if i1 else for i imin i imax i cout cou...