leetcode

Solution to some Leetcode problems written in C++
git clone git://git.dimitrijedobrota.com/leetcode.git
Log | Files | Refs | README | LICENSE

0221.cpp (618B)


      1 class Solution {
      2   public:
      3     int maximalSquare(vector<vector<char>> &matrix) {
      4         int n = matrix.size(), m = matrix[0].size(), res = 0;
      5         vector<vector<int>> dp(n, vector<int>(m, 0));
      6         for (int i = 0; i < n; i++) {
      7             for (int j = 0; j < m; j++) {
      8                 if (!i || !j || matrix[i][j] == '0') {
      9                     dp[i][j] = matrix[i][j] - '0';
     10                 } else {
     11                     dp[i][j] = min(dp[i - 1][j - 1], min(dp[i - 1][j], dp[i][j - 1])) + 1;
     12                 }
     13                 res = max(res, dp[i][j]);
     14             }
     15         }
     16         return res * res;
     17     }
     18 };