0
1.我有一個二維數組,代表一個矩陣。我需要找到總和最大的平方子矩陣。子矩陣的大小是除以2。例如行或列的數目,如果我有此查找最大總和子矩陣
9 3 5 9
2 5 9 8
8 4 9 7
9 5 3 9
最大子矩陣將是
9 8
9 7
,因爲它具有最大總和。
2.其次,我需要找到最大的子矩陣排列。我的意思是,我需要選擇具有子矩陣形狀的最大數字(在同一列或同一行中至少有兩個數字)。例如,四個九對角線邊緣
9 9
9 9
,但我不能拿第一行,並作出矩陣,因爲它確實有基體的形狀。
我仍然在努力,所以請幫助我。
這裏是我的代碼和SUBM是子矩陣
for (i=0;i<rows-subm;i++){
for(j=0;j<colums-subm;j++)
{
temp=pic[i][j]+pic[i][j+1]+pic[i+1][j]+pic[i+1][j+1];
if(temp > summax)
summax=temp;
}
}
[你有什麼嘗試?](http://whathaveyoutried.com) – Keppil
用毛絨動物說出來。你知道什麼?你需要什麼來解決這個問題?最重要的是,你有什麼代碼可以保證你找到子矩陣的最大值?我認爲9 8 9 7將是最大的子矩陣。 – Makoto
對於零件#1,您需要查找所有可能的子矩陣。您可以選擇遞歸或查找動態編程。這是標準問題。 – Nishant