我有一个方板(NxN矩阵)。每个方格(单元格)都有一个与之相关的点。我的目标是找到具有最高点总和的最大子矩阵。我开始尝试找到所有子矩阵及其权重。但我仍然坚持如何去做。
我以为我可以有一个HashMap<String,Integer>
来存储子矩阵的初始行,列和大小。代码看起来像这样:
int [][] mat = new int[10][10];
void countSubMatrix()
{
for(int i = 0; i<mat.length; i++)
{
for(int j = 0; j<mat[i].length; j++)
{
storeSubMatrix(i,j);
}
}
}
void storeSubMatrix(int x, int y)
{
int size = 0;
int tempX = x;
int tempY = y;
while(tempX < board.length && tempY < board[x].length)
{
map.put(x.toString() + "," + y.toString(),size+1);
tempX++;
tempY++;
}
}
但我不知道这是否是正确的做法。有什么想法吗?