给定一个仅包含 0 和 1 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。

示例:

输入:
[
  ["1","0","1","0","0"],
  ["1","0","1","1","1"],
  ["1","1","1","1","1"],
  ["1","0","0","1","0"]
]
输出: 6

和leetcode84没什么区别,就是一行一行更新出“高度”,一行一行的跑一遍单调栈即可。

class Solution {public int leetcode84(int[] heights) {Stack < Integer > stack = new Stack < > ();stack.push(-1);int maxarea = 0;for (int i = 0; i < heights.length; ++i) {while (stack.peek() != -1 && heights[stack.peek()] >= heights[i])maxarea = Math.max(maxarea, heights[stack.pop()] * (i - stack.peek() - 1));stack.push(i);}while (stack.peek() != -1)maxarea = Math.max(maxarea, heights[stack.pop()] * (heights.length - stack.peek() -1));return maxarea;}public int maximalRectangle(char[][] matrix) {if (matrix.length == 0) return 0;int maxarea = 0;int[] dp = new int[matrix[0].length];for(int i = 0; i < matrix.length; i++) {for(int j = 0; j < matrix[0].length; j++) {dp[j] = matrix[i][j] == '1' ? dp[j] + 1 : 0;}maxarea = Math.max(maxarea, leetcode84(dp));} return maxarea;}
}

leetcode85. 最大矩形相关推荐

  1. Leetcode--85. 最大矩形

    给定一个仅包含 0 和 1 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积. 示例: 输入: [   ["1","0","1", ...

  2. LeetCode--85.最大矩形(单调栈)

    最大矩形(单调栈) 1. 题目描述 2. 题目分析 3. C语言实现 1. 题目描述 难度:困难 2. 题目分析 这道题目似曾相识啊,最大矩形面积的问题我们在LeetCode84.柱状图中最大的矩形也 ...

  3. [Swift]LeetCode85. 最大矩形 | Maximal Rectangle

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...

  4. leetCode85.最大矩形

    给定填充0和1的2D二进制矩阵,找到仅包含1的最大矩形并返回其区域. Example: Input: [ ["1","0","1",&quo ...

  5. 【大总结3】leetcode解题总览(算法、剑指offer、SQL、多线程、shell)

    3/22更新 剑指offer 题目链接 建议大部分题都会做,都能比较快速且准确的写出来.关于做题方式,我的建议是:一道一道刷即可,因为难度一般,不用系统的学习什么知识,遇到实在不会的就跳过即可. 我这 ...

  6. LeetCode算法题整理(200题左右)

    目录 前言 一.树(17) 1.1.后序遍历 1.2.层次遍历 1.3.中序 1.4.前序 二.回溯(20) 2.1.普通回溯 2.2.线性回溯:组合.排列.子集.分割 2.3.矩阵回溯 三.二分查找 ...

  7. leetcode解题总览

    3/22更新 剑指offer 题目链接 建议大部分题都会做,都能比较快速且准确的写出来.关于做题方式,我的建议是:一道一道刷即可,因为难度一般,不用系统的学习什么知识,遇到实在不会的就跳过即可. 我这 ...

  8. 最大矩形—leetcode85

    给定一个仅包含 0 和 1 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积. 示例: 输入: [   ["1","0","1", ...

  9. 20200327:最大矩形(leetcode85)

    最大矩形 题目 思路与算法 代码实现 复杂度分析 题目 思路与算法 直接暴力即可:从第一行开始遍历,找到当前为1的位置,此时判断当前行的后面的列,找到当前行下一个不为1的列时获得当前最大宽度,然后在此 ...

最新文章

  1. Java入门之HelloWorld
  2. python基础代码-python基础知识和练习代码
  3. 【完结】优秀的深度学习从业者都有哪些优秀的习惯
  4. 鸿蒙自研系统,华为已注册“华为鸿蒙”商标,自研操作系统最快秋季发布
  5. python训练模型测试模型_python 机器学习中模型评估和调参
  6. Win-MASM64汇编语言-NEG指令
  7. 《C++程序设计语言(特别版)》——忠告
  8. 面向对象的三大特性之三:封装
  9. 理解 zookeeper
  10. 操作系统面试常问问题
  11. Ribbon界面介绍(1)
  12. 计算机上播放时没声音什么故障,电脑播放视频没有声音是什么原因
  13. 自学备考教师资格证笔试的方法
  14. rss下载_Microsoft下载中心RSS提要
  15. React 全屏监听Esc键
  16. 防复制防破解小区门禁梯控升级非联网CPU卡脱机写卡门禁梯控一卡通系统92HID623CPU V5.00操作说明之用户卡加密发卡设置说明
  17. Python文本情感分析实战【源码】
  18. windows11虚拟机安装出现蓝屏
  19. Swift 调用C++代码
  20. Shell | 查询IP

热门文章

  1. N101BCG-L21-10.1-LVDS
  2. Boost学习之指针容器--pointer_container
  3. mysql 5.7 api 中文_mysql5.7怎么解决中文
  4. cortex a7 a53_小号“A7”终于亮相,配4米9车长 大溜背!堪称15万内最强颜值!
  5. 2018高职计算机474分排名,2018年高职分类考试招生录取分数线出炉
  6. sql怎么读_大白话讲解脏写、脏读、不可重复读和幻读
  7. foxmail 怎么把邮件格式默认为html_Python SMTP发送邮件-smtplib模块
  8. 【转】C#命名空间大全详细教程
  9. 【转】3.6(译)构建Async同步基元,Part 6 AsyncLock
  10. Asp.Net WebForm生命周期的详解