不知道該說什麼QQ
反正是很沮喪的一天 QQ
先這樣吧QQ
找0,1矩陣裡最大的正方形
偷吃步的改了input
但是關鍵的傳值一直沒寫對
原來要用min QQ
感覺總是差那個最重要的臨門一腳
覺得傷心QQ
Maximal Square
int findmin(int a, int b, int c)
{
if (a <= b && a <= c)
return a;
if (b <= a && b <= c)
return b;
if (c <= a && c <= b)
return c;
return a;
}
int maximalSquare(char** matrix, int matrixRowSize, int matrixColSize) {
if (matrixColSize < 1 || matrixRowSize < 1)
return 0;
int i,j,max;
for(i=0;i<matrixRowSize;i++)
for(j=0;j<matrixColSize;j++)
{
matrix[i][j] = matrix[i][j] - '0';
if (i==0 || j==0)
continue;
if (matrix[i][j] > 0)
{
if (matrix[i-1][j-1] > 0 && matrix[i-1][j] > 0 && matrix[i][j-1] > 0)
{
int min = findmin(matrix[i-1][j-1],matrix[i-1][j],matrix[i][j-1]);
matrix[i][j] = min+1;
}
}
}
max = 0;
for(i=0;i<matrixRowSize;i++)
for(j=0;j<matrixColSize;j++)
if (matrix[i][j] > max)
max = matrix[i][j];
return (max*max);
}
沒有留言:
張貼留言