正方形最大面积
题目如下: Given a 2D binary matrix filled with 0’s and 1’s, find the largest square containing only 1’s and return its area. Example: Input: 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 Output: 4 就是给定一个二维数组 求出他的最大一个正方形的面积 (正方形是由1构成的图形,必须要连续,外加是正方形) 一开始尝试DFS解决(可行) 但是 顶不住 写不出来 后面采用了一个时间复杂度较高但是好理解的算法 先求出正方形最大可能的边长 :int r = matrix.length; 二维数组的行数 int c = matrix[0].length; 二维数组的列数 int len = Math.min(r, c); 最大值是这两个的较小值(因为是正方形) 然后从1开始逐步增加边长的值 判断是否构成的是正方形 判断是否正方形代码如下: int r = matrix.length; int c = matrix[0].length; int len = Math.min(r, c); 总代吗如下:(看代码⑧ 解释太麻烦) public static int maximalSquare(char[][] matrix) {