判断边界由1组成的最大正方形面积
问题
假如输入一个全是一和零的二维数组,请输出由一组成边界的最大正方形面积。
示例
输入
1,1,1,1
1,0,1,1
1,1,1,1
输出
9
思想
动态规划,一个位置它是不是边界和他的右边和下边有关,所以建立两个矩阵分别存储右边信息和下边信息,这样一个位置是不是最大的便边界就和他的上一个状态形成的关系。
代码
public class Code03_Largest1BorderedSquare {public static int largestmaxborderedSquare(int[][] martix) {if(martix==null||martix.length==0||martix[0].length==0) return 0;int m = martix.length;int n = martix[0].length;int[][] right = new int[m][n];int[][] down = new int[m][n];setorderedmap(martix, right, down,m,n);for(int size = Math.min(m, n);size>0;size--) {if(isthissize(martix, right, down, size)) {return size * size;}}return 0;}public static boolean isthissize(int[][]m,int[][]right,int[][] down,int size) {for(int i = m.length-size;i>=0;i--) {for(int j = m[0].length-size;j>=0;j--) {if(right[i][j]>=size&&right[i+size-1][j]>=size&&down[i][j]>=size&&down[i][j+size-1]>=size) {return true;}}}return false;}public static void setorderedmap(int[][] matrix,int[][] right,int[][] down,int m,int n) {int r = m;int c = n;if(matrix[r-1][c-1] ==1) {down[r-1][c-1] = 1;right[r-1][c-1] = 1;}for(int i = r-2;i>=0;i--) {if(matrix[i][c-1] == 1) {down[i][c-1] = down[i+1][c-1]+1;right[i][c-1] = 1;}}for(int i = c-2;i>=0;i--) {if(matrix[r-1][i]==1) {right[r-1][i] = right[r-1][i+1] +1;down[r-1][i] = 1;}}for(int i=r-2;i>=0;i--) {for(int j=c-2;j>=0;j--) {if(matrix[i][j] == 1) {right[i][j] = right[i][j+1] + 1;down[i][j] = down[i+1][j] + 1;}}}}public static void main(String[] args) {int[][] matrix = {{1,1,1,1},{1,0,1,1},{1,1,1,1}};int ans = largestmaxborderedSquare(matrix);System.out.print(ans);}}
判断边界由1组成的最大正方形面积相关推荐
- 最大正方形面积/数量(单调栈)
221最大正方形面积 主要思路: 这一题参考官方题解的视频讲解和思路 暴力法,暴力法主要思路: 当matrix[i][j]==1时,假设其为最大正方形左上角,用min(row-i,col-j)作为最大 ...
- 周长相等的正方形面积一定相等_三年级下册数学期末重点——面积
面积知识点 一.面积的意义 物体的表面或封闭图形的大小,就是他们的面积. 二.长度单位与面积单位的区别 用长度单位表示物体的长短或封闭图形一周的长度:用面积单位表示物体表面或封闭图形的大小. 注:面积 ...
- 01矩阵最大正方形面积、01矩阵最大矩形面积、直方图最大矩形面积
01矩阵最大正方形面积 题意:给定一个矩阵,其中的元素为0或者1,要求找出其中元素全为1的面积最大的正方形. 题解:动态规划:对每个元素,把以其为右下角,元素全为1的正方形的最长边长记录下来.如果以元 ...
- 【每日一题】最大正方形面积——进阶,矩形面积
2020/05/08 每日一题 221 最大正方形面积 是一道做过的题目出现在了每日一题,今后的每日一题我尽量把相关的题目都写一遍. 这道题目的思路并不是看到01矩阵就采用暴力的bfs方法,而是可以采 ...
- LeetCode:求全由1构成的最大正方形面积
给定一个二维的0-1矩阵,求全由1构成的最大正方形面积.Input:[['1','0','1','0','0'],['1','0','1','1','1'],['1','1','1','1','1'] ...
- python正方形面积_最大正方形
最大正方形 题目要求 在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积 输入: 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 输出: ...
- 周长相等的正方形面积一定相等_必考单元:三年级下册面积计算公式+知识点+测试卷(附答案),重点内容,收藏练习!...
<面积>公式 知识点 面积和面积单位: 1.常用的面积单位有:(平方厘米).(平方分米).(平方米). 2.理解面积的意义和面积单位的意义. 面积:物体表面或封闭图形的大小,叫做它们的面积 ...
- C语言试题七十二之请编写函数判断三角形的类型,并输出其面积和类型。
1. 题目 编写函数:判断三角形的类型,并输出其面积和类型. 2.思路: 首先判断其两边之和是否大于第三边,若大于则判断可以构成三角形,再进一步判断该三角形是什么三角形,并计算这个三角形的面积:否则不 ...
- 计算正方形面积和周长_寒假作业:长方形、正方形周长面积应用题,附答案
相信不少小朋友已经完成寒假作业了,在完成寒假作业的时候,你遇到了哪些问题呢? 三四年级的小朋友可能会遇到倍数关系.长方形.正方形周长和面积的问题,大部分的小朋友是无法理解题意导致的错误.在做方形的周长 ...
最新文章
- 懂数学人的都认同:数学的本质[关联]万物(二)
- uni-app如何取消pages页面的默认返回按钮【autoBackButton属性】
- 转帖:关于MongoDB你需要知道的几件事
- 基于cobbler实现自动安装系统
- 写在方法中的路由跳转
- 【译】什么是React Hooks
- solaris php,solaris 十系统上架构phpwind论坛环境(转)
- 常用正则表达式归类贴
- Atitit 薪酬管理法 工作手册 员:薪酬管理办法 1.薪酬结构 所有员工的薪酬均由岗位工资、级别工资、校龄工资、特别津贴、绩效工资和季度奖金六部分组成。其中岗位工资、级别工资、校龄工资、22
- php rsa加密demo,php实现RSA加密类实例_PHP
- latex模板——计算机学报
- 微信小程序超级占内存_小程序丨微信小程序占内存大吗?微信小程序消耗流量大吗?...
- Linux下QtCreator不能使用搜狗输入法输入中文
- LaTeX | LaTeX:写大论文时同时使用“\uline”和“\textbf”
- office2010 安装时,报错:1920 未能启动服务 “Office Software Protection Platform”(osppsvc)...终极解决方案
- Netscreen + Squid (Transparent) + c-icap + ClamAV
- Apache服务器解压版配置(win版)
- segment的理解
- 北京大学邮箱客户端设置方法
- 什么专业转CS,成功率最高?