題目:輸入n,代表方形矩陣的維度,然後輸入n^2個整數。請輸出和最大的子矩陣的和。
要點:利用了最大連續子串和的思路,實際上也是動態規劃的題目。這裡再強調一下,對於動態規劃的題目,我們經常會使用到-1下標,這樣會使得程式設計很方便。如何能夠正常的使用-1下標呢?見**:
#include
using
namespace
std;
int mat[100][100];
int s[101][101];
int n;
int x[101];
int *dp;
int(*sum)[101];
void getsum(int a, int i, int j)
}inline
int max(int a, int b)
int main()
}for (int i = 0; i < n; i++)
}//sum[i][j]儲存的是mat[0][0] 和 mat[i][j]之間組成的矩陣的和
int ret = 0;
dp = reinterpret_cast
(x + 1);//這樣就可以用dp[-1]
for (int i = 1; i <= n;i++)//最大子矩陣行的維度為i
temp += arr[k];
if (temp < 0)}}
}return
0;}
流式輸出乙個矩陣所有子矩陣
行列數 var m 5,n 6 子矩陣行列數 var r 3,d 3 矩陣內數值最大值 var maxnumber 16 流式序列,從0 m這m 1個數中不重複取出有序的n個數 param m param n returns function subarrayindex m,n while true...
演算法 求矩陣中和最大的子矩陣
給定乙個正整數 負整數和 0 組成的 n m 矩陣,編寫 找出元素總和最大的子矩陣。返回乙個陣列 r1,c1,r2,c2 其中 r1,c1 分別代表子矩陣左上角的行號和列號,r2,c2 分別代表右下角的行號和列號。若有多個滿足條件的子矩陣,返回任意乙個均可。leetcode 解題思路 class s...
演算法 求矩陣中和最大的子矩陣
給定乙個正整數 負整數和 0 組成的 n m 矩陣,編寫 找出元素總和最大的子矩陣。返回乙個陣列 r1,c1,r2,c2 其中 r1,c1 分別代表子矩陣左上角的行號和列號,r2,c2 分別代表右下角的行號和列號。若有多個滿足條件的子矩陣,返回任意乙個均可。leetcode 解題思路 class s...