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)


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