leetcodeSolution to some Leetcode problems written in C++ |
git clone git://git.dimitrijedobrota.com/leetcode.git |
Log | Files | Refs | README | LICENSE |
0221.cpp (618B)
0 class Solution { 1 public: 2 int maximalSquare(vector<vector<char>> &matrix) { 3 int n = matrix.size(), m = matrix[0].size(), res = 0; 4 vector<vector<int>> dp(n, vector<int>(m, 0)); 5 for (int i = 0; i < n; i++) { 6 for (int j = 0; j < m; j++) { 7 if (!i || !j || matrix[i][j] == '0') { 8 dp[i][j] = matrix[i][j] - '0'; 9 } else { 10 dp[i][j] = min(dp[i - 1][j - 1], min(dp[i - 1][j], dp[i][j - 1])) + 1; 11 } 12 res = max(res, dp[i][j]); 13 } 14 } 15 return res * res; 16 } 17 };