当前位置: 首页 > news >正文

day-37 最大正方形

在这里插入图片描述
思路
动态规划,这题主要得弄明白状态转换方程,dp[i][j]表示以(i,j)为右下角的最大正方形

解题方法
1.首先将第一行和第一列初始化,当对应位置的matrix为’0’时,dp数组对应位置也为零,否则为1
2.对剩下其他位置进行遍历,若对应位置的matrix为’0’时,dp数组对应位置也为零,若不为’0’,则为dp[i][j]=Math.min(dp[i-1][j],Math.min(dp[i-1][j-1],dp[i][j-1]))+1
3.最后dp数组中最大值的平方即为答案

Code

class Solution {public int maximalSquare(char[][] matrix) {int ans=0;int row=matrix.length;int cols=matrix[0].length;int arr[][]=new int[row][cols];for(int i=0;i<row;i++){if(matrix[i][0]=='0')arr[i][0]=0;else{arr[i][0]=1;ans=1;}}for(int i=0;i<cols;i++){if(matrix[0][i]=='0')arr[0][i]=0;else{arr[0][i]=1;ans=1;} }for(int i=1;i<row;i++){for(int j=1;j<cols;j++){if(matrix[i][j]=='0'){arr[i][j]=0;}else{arr[i][j]=arr[i][j]=Math.min(arr[i-1][j],Math.min(arr[i-1][j-1],arr[i][j-1]))+1;}ans=Math.max(arr[i][j],ans);}}return ans*ans;}
}
http://www.lryc.cn/news/360822.html

相关文章:

  • springboot 3.3版本 类数据共享(CDS)提升启动速度 使用方法+Docker打包代码
  • Django 目录
  • VirtualBox Ubuntu系统硬盘扩容
  • 【自动驾驶】针对低速无人车的线控底盘技术
  • Kotlin 继承和实现
  • MATLAB误差估计扩展卡尔博斯方法的目录大纲
  • NetMizer 日志管理系统前台RCE漏洞
  • 【spring】第二篇 bean实例化
  • MVC和MVVM
  • 【康耐视国产案例】智能AI相机机器视觉精准快速实现包裹标签的智能粘贴
  • 发现真正的诉求
  • Spring Boot配置MySQL数据库连接数
  • springboot595基于Java的大学生迎新系统-手把手调试搭建
  • 20 道大模型面试问题(含答案)
  • 【Java面试】四、MySQL篇(上)
  • 【Python】collections模块:高效处理数据的利器
  • Vue3实战笔记(51)—Vue 3封装带均线的k线图
  • 信息与未来2015真题笔记
  • 【成功解决】Access token invalid or no longer valid
  • 【Bug】修改计算机名称出现ip无法连接mysql数据库
  • 米尔MYC-Y6ULX-V2开发板测评记录
  • 装修全流程
  • 探索微软Edge
  • Java面试——专业技能
  • C#按钮样式设置XMAL
  • EmmyLua注释详解
  • Linux内核 -- 启用 Linux 内核调试信息
  • vs2019 无法打开QT的UI文件
  • Python | A + B问题|||
  • JRT连接希森美康出图