221. Maximal Square

来源:互联网 发布:淘宝直播如何开通 编辑:程序博客网 时间:2024/05/16 18:15
class Solution{public:int maximalSquare(vector< vector<char> > matrix){if(0 == matrix.size())return 0;int row = matrix.size(), col = matrix[0].size();vector<vector<int>> dp(row, vector<int>(col, 0));int maxn = 0;for(int i = 0; i < row; ++i){dp[i][0] = matrix[i][0] - '0';maxn = max(maxn, dp[i][0]);}for(int i = 0; i < col; ++i){dp[0][i] = matrix[0][i] - '0';maxn = max(maxn, dp[0][i]);}for(int i = 1; i < row; ++i){for(int j = 1; j < col; ++j){if(matrix[i][j] == '1'){dp[i][j] = min(min(dp[i-1][j], dp[i][j-1]), dp[i-1][j-1]) + 1;}maxn = max(maxn, dp[i][j]);}}return maxn * maxn;}};

原创粉丝点击