085 Maximal Rectangle 最大矩形

给定一个填充了 0 和 1 的二进制矩阵,找到最大的只包含 1 的矩形并返回其面积。
例如,给出以下矩阵:
1 0 1 0 0
1 0 1 1 1
1 1 1 1 1
1 0 0 1 0
返回 6

详见:https://leetcode.com/problems/maximal-rectangle/description/

Java实现:

class Solution {public int maximalRectangle(char[][] matrix) {if(matrix == null || matrix.length == 0 || matrix[0].length == 0){return 0;}int res = 0;int m = matrix.length;int n = matrix[0].length;int [] heights = new int[n];for(int i = 0; i<m; i++){         for(int j = 0; j<n; j++){heights[j] = matrix[i][j] == '0' ? 0 : heights[j]+1;    }res = Math.max(res, largestRectangleArea(heights));}return res;}private int largestRectangleArea(int[] heights) {int res=0;int n=heights.length;for(int i=0;i<n;++i){if(i+1<n&&heights[i]<=heights[i+1]){continue;}int minH=heights[i];for(int j=i;j>=0;--j){minH=Math.min(minH,heights[j]);int area=minH*(i-j+1);res=Math.max(res,area);}}return res;}
}

 参考:https://www.cnblogs.com/grandyang/p/4322667.html

转载于:https://www.cnblogs.com/xidian2014/p/8715614.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/398384.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用React、Node.js、MongoDB、Socket.IO开发一个角色投票应用的学习过程(三)

前篇 使用React、Node.js、MongoDB、Socket.IO开发一个角色投票应用的学习过程&#xff08;一&#xff09;使用React、Node.js、MongoDB、Socket.IO开发一个角色投票应用的学习过程&#xff08;二&#xff09;原文第十三步&#xff0c;Express API路由 第一个路由是用来创建角色…

匿名方法,lambad表达式,匿名类

其实lambad表达式就是“函数”或者说是“方法”写法的一个进化&#xff0c;越来越简化而已&#xff0c;如数学方法里的f(X)。 匿名方法&#xff1a;顾名思义&#xff0c;匿名方法就是没有名称的方法&#xff0c;但是有定义参数。 匿名方法最明显的好处就是可以降低另写一个方法…

Python3.1-标准库之Numpy

这系列用来介绍Python的标准库的支持Numpy部分。资料来自http://wiki.scipy.org/Tentative_NumPy_Tutorial&#xff0c;页面有许多链接&#xff0c;这里是直接翻译&#xff0c;所以会无法链接。可以大致看完该博文&#xff0c;再去看英文版。 1、先决条件 想要运行numpy&#x…

poxtfix+dovecot+saslauthd+courier-authlib +mysql + extmail 完整虚拟邮箱系统部署

所需软件&#xff1a;平台&#xff0c;RHEL5.8postfix-2.9.15 dovecot系统自带courier-authlib-0.62.4高与0.64本平台可能无法使用mysql 5.7 含&#xff1a;mysql-5.7.12-1.el5.x86_64.rpm mysql-community-client-5.7.12-1.el5.x86_64.rpmmysql-community-common-5.7.12-1.el5…

C++笔记------模版

模版-----是为了让代码更加通用&#xff0c;使代码不受数据类型的影响。减少代码冗余。模版将数据类型当作一个参数进行传递。包括函数模版和类模板。 函数模版&#xff1a; //定义一个比较大小的函数模版 template<typename Type> // 也可以写成 template <class Ty…

黑马Android全套视频无加密完整版

课程描述&#xff1a;java基础到javaweb开发&#xff0c;从基础入门到实战。安卓基础到实战。实体班近5个月的课程实录&#xff01;&#xff01;&#xff01;课程表&#xff1a;xml&dom_sax_dom4j编程tomcat与web程序结构与Http协议与HttpUrlConnectionjava web之servletja…

target runtime apache v7.0 not defined 的解决方法

在工作台目录下找到自己操作的项目的文件夹 /.settings/org.eclipse.wst.common.project.facet.core.xml 删掉 <runtime name"Apache Tomcat v7.0"/> 参考&#xff1a;https://jingyan.baidu.com/album/ce09321b479d102bfe858f66.html?picindex1转载于:https…

强大的CSS3动画库animate.css

今天要给大家介绍一款强大的CSS3动画库animate.css&#xff0c;animate.css定义了大概50多种动画形式&#xff0c;包括淡入淡出&#xff0c;文字飞入、左右摇摆动画等等。使用animate.css也非常简单&#xff0c;你可以给页面上的任意元素&#xff0c;特别是文字添加各种神奇的动…

有关系统环境变量的设置问题

不知道各位朋友有没有想过这样用的问题&#xff0c;我们在使用windows使用在cmd下运行Ping、Netstat等之类的命令时&#xff0c;为什么可以使用呢&#xff1f; 这些后面牵涉到哪些东西呢&#xff1f; 我们今天就来介绍下有关这方面的知识。我们现在以win8作为测试对象&#xff…

ThinkPHP系统流程

流程图&#xff1a; 参考网址&#xff1a;http://www.thinkphp.cn/topic/35803.html 1 用户URL请求2 调用应用入口文件&#xff08;通常是网站的index.php&#xff09;3 载入框架入口文件&#xff08;ThinkPHP.php&#xff09;4 记录初始运行时间和内存开销5 系统常量判断及定义…

@HTML

Html.TextBoxFor(model > model.ProCategoryNo, new { maxlength "30", readonly true })转载于:https://www.cnblogs.com/dekevin/p/4371794.html

linux下安装配置jdk(解压版)

在linux下登录oracle官网&#xff0c;下载解压版jdk 传送门系统默认下载到“下载”目录中创建要将该文件解压的文件夹&#xff1a;其中 -p 参数代表递归创建文件夹&#xff08;可以创建多级目录&#xff09; 进入到下载目录&#xff0c;将下载好的jdk解压到指定目录配置环境…

curl 学习

查看网站所用的web服务器信息&#xff0c;curl -I url #curl -I www.baidu.com转载于:https://www.cnblogs.com/amusic/p/5489378.html

Struts2的Action配置的各项默认值

1 如果没有为action指定class&#xff0c;默认是ActionSupport 2 如果没有为action指定method&#xff0c;默认执行action中的execute()方法 3 如果没有指定result的name属性&#xff0c;默认值为success 转载于:https://www.cnblogs.com/feifeicui/p/8728546.html

谈谈Angular关于$watch,$apply 以及 $digest的工作原理

这篇文章主要是面向那些刚开始学AngularJs和想要了解数据绑定&#xff08;data-binding&#xff09;是怎么工作的&#xff0c; 如果你已经熟悉如何使用angularjs了&#xff0c;我强烈建议你不用阅读了。 angularjs使用者想要知道data-binding是如何工作的&#xff0c;就会遇到很…

Tachyon更名为 Alluxio,并发布1.0版本

详细参考 http://www.alluxio.org/releases/alluxio-1-0-0-release.html http://geek.csdn.net/news/detail/57243 http://www.alluxio.org/ Alluxio介绍 Alluxio 1.0版本&#xff0c;作为世界上首款以内存为中心的虚拟分布式存储系统&#xff0c;它能够统一数据访问并成为连接…

[leetcode] N-Queens II

N-Queens II Follow up for N-Queens problem. Now, instead outputting board configurations, return the total number of distinct solutions. 1 class Solution2 {3 private:4 // 试探算法从最右边的列开始。5 void test(long row, long ld, long rd)6 {7 if (row …

php设计模式-工厂设计模式

概念&#xff1a; 工厂设计模式提供获取某个对象的新实例的一个接口&#xff0c;同时使调用代码避免确定实际实例化基类步骤。 很多高级模式都是依赖于工厂模式。 转载于:https://www.cnblogs.com/sjhsszl/p/8729217.html

一幅长文细学MongoDB(四)——索引

4 索引 文章目录4 索引4.1 概述4.2 索引类型4.3 索引创建4.3 删除索引4.4 查看索引执行计划4.5 涵盖的查询4.1 概述 说明&#xff1a;索引支持在MongoDB中高效地查询。如果没有索引&#xff0c;MongoDB必须执行全集合扫描&#xff0c;即扫描集合中的每个文档&#xff0c;以选择…

【转】Android图片加载神器之Fresco-加载图片基础[详细图解Fresco的使用]

Fresco简单的使用—SimpleDraweeView 百学须先立志—学前须知&#xff1a; 在我们平时加载图片(不管是下载还是加载本地图片…..)的时候&#xff0c;我们经常会遇到这样一个需求&#xff0c;那就是当图片正在加载时应该呈现正在加载时的图像&#xff0c;当图片加载失败时应该呈…