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 };