最大子矩陣和

2021-08-18 03:44:03 字數 597 閱讀 4651

分析:在二維陣列中求最大子矩陣和的話,我們可以將其轉換為最大子段和(一維陣列)。例如:二維陣列

1 2 3

4 5 6

7 8 9

這裡有3行3列,它們行數的組合可以是1、12、123、2、23、3,一共6種,只要把這6種情況將他們的列和計算出來,即轉化為一維陣列求最大欄位和的問題。

如第二種情況,12,即第一行和第二行,將他們各自的列相加變成一維陣列,即,求最大欄位和。

//最大欄位和**

public static int maxsub(int a)  else 

if (b[i + 1] > max)

}return max;

}

//二位矩陣求最大子矩陣和

public static int max(int a, int row, int column) 

for (int j = i; j < row; j++)

}int temp = maxsub(b);

if (temp > sum)

}return sum;

}

最大子段和 最大子矩陣和

給出n個整數序列 可能為負數 組成的序列a1,a2,an,求該序列形如 的子段和的最大值。當所有整數均為負數時,定義最大子段和為0。多測試用例。每個測試用例佔2行 第一行是序列的個數n 0 n 10000 第二行是n個整數。為每個測試用例輸出一行結果 最大子段和。6 2 11 4 13 5 2 31...

最大子矩陣和

前言 今天花了很長時間,看了無數人寫的帖子,但是幾乎沒有人把這個問題一下子說得很清楚,所以,我把這個問題按照自己的思路寫出來,希望能夠把這個問題講清楚。問題 求乙個m n的矩陣的最大子矩陣和。比如在如下這個矩陣中 0 2 7 0 9 2 6 2 4 1 4 1 1 8 0 2 擁有最大和的子矩陣為 ...

最大子矩陣和

前言 今天花了很長時間,看了無數人寫的帖子,但是幾乎沒有人把這個問題一下子說得很清楚,所以,我把這個問題按照自己的思路寫出來,希望能夠把這個問題講清楚。問題 求乙個m n的矩陣的最大子矩陣和。比如在如下這個矩陣中 0 2 7 0 9 2 6 2 4 1 4 1 1 8 0 2 擁有最大和的子矩陣為 ...