問題:最大子矩陣的和
最大子矩陣的和這個問題實際上是子串的最大和向二維空間的擴充套件!我們如果把每一列都看作乙個數的話,實際上也是個子串的最大和問題!
不多說啦,大家看**體會吧!
package com.liheng.algorithm;
/** *
* @author administrator
* 利用動態規劃求最大子矩陣的問題
* 重要的乙個思想是把最大子矩陣的問題轉化為子串的最大和
* * 基本思想是:先把列看成乙個數,這樣矩陣也是乙個大的字串
* 具體的看**分析
* 演算法複雜度為o(m^2n)
*/public class maxmatrix ,,};
int m=3,n=3;
system.out.println(mma.maxsum(2,2,a));
}/**
* 動態規劃求最大欄位和
*/ int maxsumdin(int n,int a)
return sum;
}int maxsum(int m,int n,int a )//給陣列b賦初值
for(int j=i;j<=m;j++)
}return sum;
}}
最大子矩陣(動態規劃)
最大矩陣和顧名思義,就是乙個矩陣和最大,例如下面的矩陣 0 2 7 0 9 2 6 2 41 41 1 80 2 最終找到了和為15的矩陣 9 2 41 18所選的矩陣沒有規定,只要在這個大矩陣中,就可以了,那麼我們需要限定它的行和列 我們用三個for迴圈把所有的行的情況列舉,分別是i,j,k i從...
動態規劃 最大子矩陣和 收藏
最大子矩陣問題 問題描述 具體見 給定乙個n n 0讓我們先來看另外的乙個問題 最大子段和問題 給定乙個長度為n的一維陣列a,請找出此陣列的乙個子陣列,使得此子陣列的和sum a i a i 1 a j 最大,其中i 0,i i,jsum maxsofar sum 第二種方法 帶記憶的遞推法 cum...
動態規劃之最大子矩陣和
分析 我們已經解決了一維的問題 基礎篇中的最大子段和問題 現在變成二維了,我們看看能不能把這個問題轉化為一維的問題。最後子矩陣一定是在某兩行之間的。假設我們認為子矩陣在第i行和第j列之間,我們如何得到i和j呢,對,列舉。列舉所有1 i j m,表示最終子矩陣選取的行範圍。我們把每一列第i行到第j行之...