Maximal Square
来源:互联网 发布:广东省网络医院在哪里 编辑:程序博客网 时间:2024/06/05 11:58
dp[i][j]表示以点(i, j)为右下角的正方形的边长;状态转移方程:
dp[i][j] = min(dp[i-1][j-1], min(dp[i-1][j], dp[i][j-1])) + 1;
class Solution {public:int maximalSquare(vector<vector<char>>& matrix) {if (matrix.size() == 0) return 0;int n = matrix.size(), m = matrix[0].size();int max_s = 0;vector<vector<int>> dp(n,vector<int>(m,0));// 第一列赋值for (int i = 0; i < m; i++) {dp[0][i] = matrix[0][i] - '0';max_s = max(max_s, dp[0][i]);//如果出现第一列里有1,其他列全是0的情况,那么max_s就是1}// 第一行赋值for (int i = 0; i < n; i++) {dp[i][0] = matrix[i][0] - '0';max_s = max(max_s, dp[i][0]);//如果出现第一行里有1,其他列全是0的情况,那么max_s就是1}// 递推for (int i = 1; i < m; i++) {for (int j = 1; j <n; j++) {dp[j][i] = matrix[j][i] == '1' ? min(dp[j - 1][i - 1], min(dp[j - 1][i], dp[j][i - 1])) + 1 : 0;max_s = max(max_s, dp[j][i]);}}return max_s * max_s;}};
0 0
- Maximal Square
- Maximal Square
- Maximal Square
- Maximal Square
- Maximal Square
- Maximal Square
- Maximal Square
- Maximal Square
- Maximal Square
- Maximal Square
- Maximal Square
- Maximal Square
- Maximal Square
- Maximal Square
- Maximal Square
- Maximal Square
- Maximal Square
- Maximal Square
- 第七周 OJ总结<3>-百位数分解
- [kuangbin带你飞]专题六 最小生成树 D POJ 2421
- 输入两个数,进行四则运算
- web前端-JavaScript 错误 -020
- 第八周OJ-求连续倒数和
- Maximal Square
- 二分查找以及冒泡排序
- 安卓开发之绘图
- 第八周OJ(2)分数序列
- 第八周 OJ 分数序列求和
- webx - requst context之session
- 第八周练习 分数序列的前n项和
- 覆盖表面(Overlay Surfaces)
- Notice: Use of undefined constant mysql_fetch_array - assumed 'mysql_fetch_array' in E:\wamp\wamp\w