博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
221. Maximal Square
阅读量:6376 次
发布时间:2019-06-23

本文共 1499 字,大约阅读时间需要 4 分钟。

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 01 0 1 1 11 1 1 1 11 0 0 1 0Output: 4

难度:medium

题目:给定由0,1组成的矩阵,找出由1组成的最大方块并返回其面积。

思路:动态规划

转换方程
grid[i][j] = Math.min(grid[i][j - 1], grid[i - 1][j], grid[i - 1][j - 1]) + 1 (matrix[i][j] = '1')

Runtime: 7 ms, faster than 97.80% of Java online submissions for Maximal Square.

Memory Usage: 40.8 MB, less than 70.46% of Java online submissions for Maximal Square.

class Solution {    public int maximalSquare(char[][] matrix) {        if (null == matrix || matrix.length < 1) {            return 0;        }        int maxSquare = 0, m = matrix.length, n = matrix[0].length;        int[][] grid = new int[m][n];        for (int i = 0; i < m; i++) {            if ('1' == matrix[i][0]) {                grid[i][0] = 1;                maxSquare = 1;            }        }        for (int i = 0; i < n; i++) {            if ('1' == matrix[0][i]) {                grid[0][i] = 1;                maxSquare = 1;            }        }                for (int i = 1; i < m; i++) {            for (int j = 1; j < n; j++) {                if ('1' == matrix[i][j]) {                    grid[i][j] = Math.min(grid[i - 1][j - 1],                                              Math.min(grid[i - 1][j], grid[i][j - 1])) + 1;                    maxSquare = Math.max(maxSquare, grid[i][j]);                }            }        }                return maxSquare * maxSquare;    }}

转载地址:http://kuxqa.baihongyu.com/

你可能感兴趣的文章
Vue实战篇(PC端商城项目)
查看>>
每周记录(二)
查看>>
你要做的是产品经理,不是作图经理!
查看>>
编码、摘要和加密(一)——字节编码
查看>>
JavaEE 项目常见错误汇总
查看>>
快速掌握Python基础语法(下)
查看>>
java虚拟机——运行时数据区域
查看>>
【Android自定义View】绘图之文字篇(三)
查看>>
适配iOS 11和iPhoneX屏幕适配遇到的一些坑
查看>>
Fetch API 简单封装
查看>>
给媳妇做一个记录心情的小程序
查看>>
iOS App无需跳转系统设置自动连接Wi-Fi
查看>>
一道柯里化面试题
查看>>
本科studying abroad 无法毕业申请硕士转学转校处理一切studying abroad 问题
查看>>
RxJava(RxAndroid)的简单学习
查看>>
Java8 函数式编程之函数接口(下)
查看>>
【本人秃顶程序员】MySQL 全表 COUNT(*) 简述
查看>>
centos7中使用febootstrap自制一个基础的centos 7.2的docker镜像
查看>>
系统优化和克隆过程
查看>>
C#开发Unity游戏教程之判断语句
查看>>