leetcode[221]最大正方形
题目:在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。 示例: 输入: 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 输出: 4 源码: /** * dp表示最大正方形边长,dp[i][j] = MIN(dp[i-1][j-1], dp[i][j-1], dp[i-1][j]); */ #define MIN(a, b) ((a) < (b) ? (a) : (b)) #define MAX(a, b) ((a) > (b) ? (a) : (b)) int maximalSquare(char** matrix, int matrixSize, int* matrixColSize){ int i, j, max; int** dp = (int**)malloc(sizeof(int*) * matrixSize); for(i = 0; i < matrixSize; i++){ dp[i] = (int*)malloc(sizeof(int) * matrixColSize[0]); } max = 0; for(i = 0; i < matrixSize; i++){ for(j = 0; j < matrixColSize[0]; j++){ if(matrix[i][j] == '1'){ dp[i