-1
与えられた配列n×m。その中に同じ番号がすべて含まれている最大の矩形を見つける必要があります。
例:ここ
1 2 2 5
1 2 2 4
2 2 2 3
答えは質問がおよそ最大の広場に言わせれば、私はこの問題を解決することができます6.すべて同じ番号の最大長方形
でなければなりません。ここに私のアプローチがある -
for(int i=0; i<n; i++) for(int j=0; j<m; j++) {
if(!i && !j) dp[i][j] = 1;
else if(a[i][j] == a[i-1][j-1] &&
a[i][j] == a[i-1][j] &&
a[i][j] == a[i][j-1])
dp[i][j] = min({dp[i-1][j-1], dp[i][j-1], dp[i-1][j]}) + 1;
else dp[i][j] = 1;
}
すると答えはDPテーブルの最大数でなければなりません。どのようにこれを変更して最大の長方形を得ることができますか?