子陣列之和的最大值 二維

2021-06-28 01:26:40 字數 418 閱讀 2221

《程式設計之美》第2.15節:子陣列之和的最大值(二維)

題目:求二維陣列中子陣列的最大和

解法:從上到下遍歷,對於第i行,遍歷從第i行往下的所有行,使其加和成為一維陣列,然後用一維陣列求最大值來做。

**:#include#includeusing namespace std;

int sub2darrysum(int a[5],int n,int m)//返回要排除的值

{// int (*arr)[4] 宣告了乙個指標變數,這個指標指向由4個int組成的陣列

int result=int_min;

int tempresult=0;

for(int i=0;i

從第一行第一列到第三行第三列中的數字。即:

-3,4,2

8,10,1

-1,1,7

子陣列之和的最大值(二維)

二維情況下,定義 部分和 ps i j 等於以 1,1 i,1 1,j i,j 為頂點的矩形區域的元素之和。則以 i min,j min i min,j max i max,j min i max,j max 為頂點的矩形區域的元素之和,等於ps i max j max ps i min 1 j m...

求子陣列之和的最大值(二維)

求子陣列之和的最大值 二維 public class subbinaarraysum if start max start 0 return max low和high為將二維陣列劈開的兩列,取值範圍為0 m,line為二維陣列的哪一行 函式返回兩列之間的一維陣列的和 public static in...

程式設計之美 子陣列之和的最大值(二維)

避免使用暴力列舉的方法,我們參考一維陣列的求法,一維的解答可以再線性時間 內完成,具體可以參考我的程式設計珠璣讀書筆記。我們把問題從二維轉壞為一維,現在我們列舉矩陣的上下邊界,然後用一維的方法確定左右邊界,時間複雜度為o n 2 m include include using namespace s...