最大子陣列之和(二維矩形)

2022-09-02 15:15:15 字數 1697 閱讀 1447

1,以指定格式的文字檔案形式輸入陣列。

2,陣列由一維變為二維。

3,熟練使用git常用命令將作業簽入**版本控制平台。

4,給出單元測試/**覆蓋率的最終覆蓋率的報告,撰寫部落格。

"""

本程式採用暴力破解的方法,將資料轉換為二維陣列後得出行數和列數,外層四個for迴圈規定矩形大小,內層兩個for迴圈將矩形內的資料相加,最後將其儲存到新陣列中得到其最大值。

基本思想就是不斷給出定固定矩形框然後往二維陣列中挨個套,得到所以可能性,從而求出最大值

"""import

numpy as np

#讀取並轉換為二維陣列

data = np.loadtxt(r"

c:\users\32762\desktop\list.txt")

#二維陣列行數

line =data.shape[0]

#二維陣列列數

column = data.shape[1]

#定義乙個列表儲存矩形資料和

lst =

for i in range(0, column): #

矩形框起始列

for m in range(i, column): #

矩形框終止列

for j in range(0, line): #

矩形框起始行

for n in range(j, line): #

矩形框終止行

t = 0 #

每次將t置為0,防止干擾

for q in range(j, n + 1): #

加一是由於range()包頭不包尾,不能包含最後一行終止行

for o in range(i, m+1):

if o <= column and q <= line: #

判斷語句是防止越界

陣列中資料就是所有可能的矩形的和,25.0是其中的最大值

測試資料入下

綠色部分表示已覆蓋

1.**覆蓋率還行,函式中並無太多冗餘。

2.通過簡單的效能分析,了解到多重巢狀迴圈雖然想清楚後容易實現但是複雜度過高

3.通過這次實踐,更熟練運用了pycharm中的各種分析工具

二維陣列最大子陣列和

陣列輸出 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...

二維陣列求最大子陣列

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

最大子矩陣 二維樹狀陣列

最大子矩陣 題目鏈結 這裡就是直接套取二維樹狀陣列的模板 題目要求了求的是長是x寬是y的最大矩陣的和 在for迴圈呢裡控制下就可以了 其他的沒有什麼了 include include include include using namespace std long long c 1007 1007 ...