二維陣列,求最大的子陣列(劉若凡 劉夢輝)

2022-08-29 22:57:15 字數 741 閱讀 2124

1.定義陣列a[m][n],先選擇第乙個數a[0][0]作為待求數,然後依次求出 a[0][0]+a[1][0]+...+a[m-1][0],可以從得出的m個所求數中比較得出最大數max(01);

2.以a[0][0]+a[0][1]這前兩個數的和作為第乙個待求數,然後依次求出(a[0][0]+a[0][1])+(a[1][0]+a[1][1])+...+(a[m-1][0]+a[m-1][1]),可以從得出的m個所求數中比較得出最大數max(02);

3.依次以第一行的3,4,5....n個數作為第乙個待求數,再依次求出以這些數為基礎項的各行的數的和,再從每次得出的m所求數中依次得到max(03),max(04),......max(0n);

4.經過上述計算後可以將涉及到陣列a[m][n]的一列的所有矩陣和都求出來,其各種值即為上述的所有max的值,然後忽略掉陣列的第一列,以a[1][1]作為第乙個待求數,然後遵循1可以求出m個數中的最大數max(11),然後以a[1][1]+a[1][2]為所求數,遵循2可以求出max(12),然後遵循3,可以求出max(13),max(14),...max(1n),此次求出的各種最大值即為陣列忽略第一列但包含第二列的的所有最大值;

5.然後重複4的步驟,最後可以得到最大值max(21),max(22),...max(2n),max(31),max(32),...max(3n)...max((m-1)1),max((m-1)2),...max((m-1)n);

6.比較著m*n個最大值,所得到的值即為陣列a[m][n]中的最大的矩陣和。

二維陣列求最大子陣列

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

求二維陣列的聯通子陣列和的最大值

求二維陣列的聯通子陣列和的最大值 組員 張丹丹 蔡容玉 題目 編寫乙個程式,求出二維陣列中聯通子陣列之和最大是多少,將和輸出。針對本次程式要求,我們經過討論認為,應該先把陣列中的最大的數找出,以此為起點再向上下左右分別探尋,判斷是否將該方位的數加上已獲得更大的和。如圖 對此我們進行程式的編碼如下 每...

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

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