在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。 示例: 输入: 1 0 1 0 01 0 1 1 11 1 1 1 11 0 0 1 0 输出: 4 来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/maxim
转载 2020-07-14 13:12:00
120阅读
2评论
暴力复杂度:\(O(n^4)\) 前缀和优化:\(O(n^3)\) 前缀和+二分优化:\(O(n^2\log n))\) 动态规划:\(O(n^2)\) 我们用 \(\textit{dp}(i, j)\) 表示以 \((i,j)\) 为右下角,且只包含 \(1\) 的正方形的边长最大值。如果我们能计
转载 2021-06-25 19:44:00
102阅读
在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。示例:输入:1 0 1 0 01 0 1 1 11 1 1 1 11 0 0 1 0输出: 4来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/maximal-square著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注...
原创 2022-03-09 15:00:56
65阅读
想看更多算法题,可以扫描上方二维码关注我微信公众号“数据结构和算法”,截止到目前我已经在公众号中更新了500多道算法题,
一、内容在一个由 '0' 和 '1' 组成的二维矩阵内,找到只包含 '1' 的最大正方形,并返回其面积。 示例 1:输入:matrix = [["1","0","1","0","0"],["1","0","1","1","1"],["1","1","1","1","1"],["1","0","0","1","0"]]输出:4示例 2:输入:matrix = [["0","1"],["1","0"]]输出:1示例 3:输入:matrix = [["0"]]输出:0
原创 2021-10-11 11:20:01
363阅读
dp转态转移方程:matrix[i][j]=='1': dp[i][j] = 1+min( dp[i-1][j-1], min( dp[i][j-1],dp[i-1][j] ));matrix[i][j]=='0': dp[i][j] = 0;先初始化行和列class Solution {public: int maximalSquare(vector<vector...
原创 2023-02-21 18:54:50
77阅读
思路 方法:动态规划 思路来源: LeetCode官方题解 - 最大正方形 理解 三者取最小+1 1 class Solution { 2 public: 3 int maximalSquare(vector<vector<char>>& matrix) { 4 if (matrix.size()
原创 2022-06-02 17:03:20
43阅读
拿到一道算法题首先确定使用什么方法,然后再在这个基础上仔细抽象出变量的含义,再进行下一步的操作。切勿在不正确的方向上浪费时间!
原创 2022-06-07 14:55:39
74阅读
square著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注...
原创 2021-07-08 17:53:46
147阅读
#define min(a,b) ((a)<(b))?(a):(b) int maximalSquare(char** matrix, int matrixSize, int* matrixColSize){ int* row = (int*)calloc(*matrixColSize, sizeo
转载 2020-12-27 21:59:00
133阅读
2评论
在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。 示例: 输入: 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 输出: 4 class Solution { public: int maximalSquare(vector<vector<char>>& matrix) ...
原创 2021-07-08 18:15:16
90阅读
一、内容在一个由 '0' 和 '1' 组成的二维矩阵内,找到只包含 '1' 的最大正方形,并返回其面积。 示例 1:输入:matrix = [["1","0","1","0","0"],["1","0","1","1","1"],["1","1","1","1","1"],["1","0","0","1","0"]]输出:4示例 2:输入:matrix = [["0","1"],["1","0"]]输出:1示例 3:输入:matrix = [["0"]]输出:0
原创 2021-10-19 09:51:50
125阅读
一、内容在一个由 '0' 和 '1' 组成的二维矩阵内,找到只包含 '1' 的最大正方形,并返回其面积。 示例 1:输入:matrix = [["1","0","1","0
原创 2022-01-06 14:14:12
57阅读
dp[i][j]表示为matrix[i][j] 位置可以得到的最大正方形的边长。那么可以得到递推公式进而得到整个矩阵中的最大正方形
原创 2022-06-07 14:58:36
2322阅读
最大正方形 在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。 示例: 输入: 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 输出: 4 判断以某个点为正方形右下角时最大正方形时,那它的上方,左方和左上方三个点也一定是某个正方形
转载 2018-12-31 19:24:00
64阅读
2评论
0-1 矩阵 动态规划问题
原创 2022-11-25 12:58:52
59阅读
221. 最大正方形 在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。 示例: 输入: 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 输出: 4 思路:动态规划 思路参考:https://leetcode-cn.com/probl
原创 2021-05-28 14:48:31
260阅读
三面列举了三种不同最小值所在的位置,可以看出只要当前元素为1,那么dp[i][j]就等于左上,左、上,中的最小值加1。 比如图一种最小值为3。问号所在位置元素为1,那么dp问号处的值就为4,因为当取三者最小值的时候,其余两个4,4所在位置的元素肯定为1。不然此处的dp值肯定比3还小。 class S ...
转载 2021-08-18 13:54:00
53阅读
2评论
221. 最大正方形
用dp 如果matrices[i][j] == '0' dp[i][j] = 0 continue; 如果是左边界或者上边界 并且 dp[i][j] = 1; 否则 如果左 上 左上三个都是1 dp[i][j] = min(dp[i - 1][j - 1], dp[i][j - 1], dp[i -
转载 2021-05-06 16:50:00
93阅读
2评论
  • 1
  • 2
  • 3
  • 4
  • 5