【DP】LeetCode 85. Maximal Rectangle

LeetCode刷题:85. Maximal Rectangle LeetCode刷题:85. Maximal Rectangle 原题链接:https://leetcode.com/problems/maximal-rectangle/ Given a 2D binary matrix filled with 0's and 1's, find the largest rectangle containing only 1's and return its... 阅读详情

LeetCode 85. Maximal Rectangle

Solution1:
一语惊醒梦中人啊,参考链接:https://www.youtube.com/watch?v=2Yk3Avrzauk
根据第84题完成!

class Solution {
public:
    int maximalRectangle(vector<vector<char>>& matrix) {
        if (!matrix.size() || !matrix[0].size())
            return 0;
        int m = matrix.size(), n = matrix[0].size(), max_area = INT_MIN;;
        vector<vector<int> > dp(m, vector<int>(n, 0));
        for (int i = 0; i < m; i++) {
            for (int j = 0; j < n; j++) {
                if (i == 0)
                    dp[i][j] = matrix[i][j] - '0';
                else {
                    if (matrix[i][j] - '0')
                        dp[i][j] = dp[i-1][j] + matrix[i][j] - '0';
                    else
                        dp[i][j] = matrix[i][j] - '0';
                }
            }
            int temp_sum = largestRectangleArea(dp[i]);
            max_area = max(max_area, temp_sum);
        }
        return max_area;
    }

    int largestRectangleArea(vector<int>& height) {
        int res = 0;
        for (int i = 0; i < height.size(); ++i) {
            if (i + 1 < height.size() && height[i] <= height[i + 1]) {
            //若把这个判断条件去掉,则是暴力算法复杂度是O(n^2),只有最后一个case无法AC
                continue;
            }
            int minH = height[i];
            for (int j = i; j >= 0; --j) {
                minH = min(minH, height[j]);
                int area = minH * (i - j + 1);
                res = max(res, area);
            }
        }
        return res;
    }
};
Leetcode 85. Maximal Rectangle(python) Leetcode 85. Maximal Rectangle题目解法1:DP + brutal force(TLE)解法2:利用leetcode 84. Largest Rectangle in Histogram的方法解法3:DP + 左右扫描线 题目 Given a 2D binary matrix filled with 0’s and 1’s, find the largest recta... 阅读详情

相关推荐

深入浅出:.sh文件在Linux系统中的实战应用与技巧

本文深入浅出地介绍了.sh文件在Linux系统中的实战应用与技巧。从基础概念入手,详细讲解了Bash脚本的运行方法、权限管理,并通过编写自动化备份脚本等实例,展示了如何利用Shell脚本提升工作效率。文章还涵盖了脚本调试、错误处理以及函数、参数解析等进阶技巧,帮助读者从入门到精通,掌握这一强大的自动化工具。

weixin_29243279的博客 346

LeetCode 85. 最大矩形(DP/单调递增栈,难)

1. 题目 给定一个仅包含 0 和 1 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。 示例: 输入: [ ["1","0","1","0","0"], ["1","0","1","1","1"], ["1","1","1","1","1"], ["1","0","0","1","0"] ] 输出: 6 来源:力扣(LeetCode) 链接:https://leet...

Michael是个半路程序员 1789

AutoGenTestCase - AI大模型生成测试用例

AI技术助力高效软件测试:AutoGenTestCase工具介绍 传统手工测试存在效率低、覆盖不全等痛点。AutoGenTestCase工具集成DeepSeek、通义千问等AI大模型,能快速解析需求并自动生成标准化测试用例,将数小时工作缩短至分钟级。该工具部署简单,仅需配置APIKey即可运行,支持多种测试用例类型比例设置,并输出Markdown和Excel格式的测试用例。通过GitHub或网盘下载后,用户可按照教程完成APIKey配置、需求文档上传和用例生成等操作,显著提升测试效率与覆盖完整性。

YIqifeibaQI的博客 347

***Leetcode 85. Maximal Rectangle dp

https://leetcode.com/problems/maximal-rectangle/description/ 看到这题我第一反应就是最大子矩阵和,然后很快就能得到O(n^3)的算法 class Solution { public: int maximalRectangle(vector>& matrix) { if (matrix.size()

Pilgrim 340

Flutter 直接调用so动态库,或调用C/C++源文件内函数

我把 .so 文件尝试放过好几个目录/lib/,最终都会报这个错误,现在才知道库文件需要放在你根本想象不到的地方!!!尝试了一些方法还是不行后我放弃了 ffi,想着用 Flutter 的 MethodChannel 桥接 android/ios 原生,再让原生去调 native 层。一顿操作把Android端的搞定了,当然中间涉及到 Kotlin和C++ 层的数据类型映射的痛苦,而且业务函数也不像一个 helloworld 那么简单,别提有多痛苦了。

开发以大橘为重 8349

嵌入式下载故障排查:ST-LINK与GD32 Programmer典型问题解决

嵌入式固件烧录是MCU开发的关键环节,其本质依赖于调试器(如ST-LINK、GD-Link)与目标芯片间的协议通信、驱动加载及硬件接口协同。原理上,SWD/JTAG协议需在正确时序、电平与供电条件下完成设备枚举、ID读取与Flash编程;技术价值在于保障量产烧录稳定性与调试可重复性;典型应用场景涵盖STM32/GD32教学开发、工业控制板量产调试及Windows 11新系统适配。本文聚焦ST-LINK-V2在Keil MDK中的下载失败和GD32 All In One Programmer的DLL加载异常两

weixin_35006125的博客 153

LeetCode 85.Maximal Rectangle (DP-专题)

题目:Given a 2D binary matrix filled with 0's and 1's, find the largest rectangle containing only 1's and return its area.Example:Input: [ ["1","0","1","0","0"], ["1","0","1"

侠客小虎的博客 527

基于Slim-Neck架构的YOLOv11轻量化特征融合方案(实现超轻量级与高精度的双重突破)

购买即可解锁800+YOLO优化文章,并且还有海量深度学习复现项目,价格仅需两杯奶茶的钱,每日更新。

m0_64661770的博客 250

【Leetcode】Maximal Rectangle (DP)

Given a 2D binary matrix filled with 0's and 1's, find the largest rectangle containing all ones and return its area.

Shawn's Redemption 523

单稳态触发器Multisim电路仿真——硬件工程师笔记

本文系统介绍了单稳态触发器的基础知识及其实现方式。主要内容包括:1)单稳态触发器的工作原理、电路结构、特点及应用;2)555定时器实现单稳态触发器的配置及工作过程;3)使用反相器和与非门实现积分型和微分型单稳态触发器的电路结构及工作原理。文章详细阐述了各种实现方式的特性、应用场景及设计考虑,为硬件工程师提供了实用的电路设计参考。最后还附有相关笔试面试题链接,便于读者进一步学习扩展。

XU157303764的博客 1875

标题:Stata17安装后遇到Java安装问题解决方法

设置JAVA_HOME环境变量:在Windows上,您需要设置JAVA_HOME环境变量以告诉Stata Java的安装路径。d. 输入变量名为JAVA_HOME,变量值为Java安装路径。注意:请确保您的Java版本与Stata兼容,并使用正确的Java安装路径。设置Stata的Java安装路径:现在,您需要告诉Stata Java的安装路径。如果您看到Java版本信息,则表示Java已成功安装。如果没有安装,请先下载并安装Java。确认Java已安装:首先,请确保您的计算机上已经正确安装了Java。

CyberSparkZ的博客 2867

Leetcode 84.85.控制变量法+DP

题目如图,这一类型的题目很容易让人联想到线段树,虽然我了解一点,然而还并不会…于是without any tools,我开始从零摸索这个题目。矩形的目标很容易让我们从边界的角度思考问题,我们会试图找到这个最大面积矩形的两端,然而这样的话问题变的困难,因为你要同时考虑距离和高度两个因素。 于是发现了问题的所在,我们就解决这一问题。如果我们固定高度呢?问题一下子就明晰了。于是,我以每个bar的高度...

Growth Of Dating 548

【Win10/11】Windows电脑WiFi显示小地球/断网的解决方法 Windows WiFi小地球、网络连接中断、网络重置、无线网卡驱动、Win10/Win11网络修复

最近经常有粉丝留言问我,Windows 电脑突然连不上 WiFi,右下角网络图标显示成了“小地球 🌐”,或者干脆提示“未连接 - 没有可用的连接”。明明其他设备网络都正常,唯独自己的电脑断了。作为在互联网大厂混迹多年的前端程序员,我自己也碰到过这个问题。总结几种比较常见、亲测有效的解决方法,写出来供大家参考,希望能帮你快速恢复上网!问题原因推荐解决方法系统设置错乱使用网络重置功能驱动异常或冲突卸载后重启自动安装驱动驱动版本过旧手动更新网卡驱动实在不行考虑使用系统还原点或重装系统这几个方法中,

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 3845

Leetcode 85 - Maximal Rectangle(dp)

题意给定一个由01组成的矩形,要求找出矩形内由1组成的面积最大的矩形面积。思路之前写过一道类似的题,由若干个长度为1,高度不同的矩形连在一起,求最大矩形面积。这道题其实是类似的,我们只需要预处理出在位置[i, j]上,最大的1的高度,然后一行一行的处理,就和之前那道题相同了。状态表示:h[i,j]h[i, j],位置[i, j]上1的最大高度。l[i,j]l[i, j],位置[i, j]上,以h[i

博客已迁移至:lzed.github.io 317

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

leetcode 85. Maximal Rectangle 最大子矩阵 + DP + 转换为最大直方图

Given a 2D binary matrix filled with 0’s and 1’s, find the largest rectangle containing only 1’s and return its area. For example, given the following matrix: 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0

JackZhangNJU的专栏 991

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

LeetCode85 Maximal Rectangle java题解

public static int maximalRectangle(char[][] matrix) { int rowNum=matrix.length; if(rowNum==0) return 0; int columnNum=matrix[0].length; int[][] height=new int[rowNum][...

weixin_34294649的博客 148

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

LeetCode Maximal Rectangle(dp)

 Given a 2D binary matrix filled with 0's and 1's, find the largest rectangle containing all ones and return its area. 题意:给出一个由字符0和1组成的二维字符数组,找到最大的矩阵,其所有字符为1 思路:动态规划,用left[n]表示所在行的第n个元素的左边界为1的下

多看多听多总结 1223

leetcode 85. Maximal Rectangle 最大矩形

Given a 2D binary matrix filled with 0's and 1's, find the largest rectangle containing only 1's and return its area. Example: Input: [ ["1","0","1","0","0"], ["1","0","1&quo

bingshen的专栏 369

LeetCode 85. Maximal Rectangle --python,java解法

LeetCode 85. Maximal Rectangle LeetCode题解专栏:LeetCode题解 我做的所有的LeetCode的题目都放在这个专栏里,大部分题目Java和Python的解法都有。 Given a 2D binary matrix filled with 0’s and 1’s, find the largest rectangle containing only 1...

个人博客 1359

85. Maximal Rectangle

用dp计算矩形面积 文章目录1题目理解2分析2.1 暴力搜索2.2 动态规划 1题目理解 输入:char[][] matrix 是一个二维数组,值由0和1组成。 输出:一个矩形的面积,这个矩形只包含1。 例子: Input: [ [“1”,“0”,“1”,“0”,“0”], [“1”,“0”,“1”,“1”,“1”], [“1”,“1”,“1”,“1”,“1”], [“1”,“0”,“0”,“1”,“0”] ] Output: 6 2分析 最开始没理解,直接想之前做过,从一个点向4个方向延伸,找最大值。写完

约定的博客 438

leetcode 85. Maximal Rectangle(最大全1子矩阵)

Given a 2D binary matrix filled with 0's and 1's, find the largest rectangle containing only 1's and return its area. For example, given the following matrix: 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0

淡然坊 2089

LeetCode 85. Maximal Rectangle

https://leetcode.com/problems/maximal-rectangle/ Description Given a 2D binary matrix filled with 0’s and 1’s, find the largest rectangle containing only 1’s and return its area. Example: Input: [ [...

pku_Coder的博客 333

Leetcode-85. Maximal Rectangle

公众号不定期发布一篇关于Leetcode解题技巧的文章,尝试从多角度、不同方法对题目进行解析。欢迎大家关注! 题目描述(困难难度) 给一个只有 0 和 1 的矩阵,输出一个最大的矩形的面积,这个矩形里边只含有 1。 解法一 暴力破解 参考这里,遍历每个点,求以这个点为矩阵右下角的所有矩阵面积。如下图的两个例子,橙色是当前遍历的点,然后虚线框圈出的矩阵是其中一个矩阵。 怎么找出这样的矩阵呢?如...

猫敷雪 555

Leetcode. Largest Rectangle in Histogram

1. 题解 题目 链接🔗:84. Largest Rectangle in Histogram 这道题和42. Trapping Rain Water有些相像,但是42题求的是能围住的最大面积,而本题求的是连成的矩阵的最大面积,因而在计算面积的方法上有些许不同。85. Maximal Rectangle就是在本题基础上的变式,通过一系列变化可以使用本题方法。 分析 简单分析可以知道最大矩形面积有两种情况: 当前矩形的高度heights[i] * 1 当前矩形的高度heights[i] * (向右第一个比

三明治文鱼的博客 7797

leetcode -- 85. Maximal Rectangle

题目描述 题目难度:Hard Given a 2D binary matrix filled with 0’s and 1’s, find the largest rectangle containing only 1’s and return its area. Example: Input: [ [“1”,“0”,“1”,“0”,“0”], [“1”,“0”,“1”,“1”,“1”], [“1...

tkzc_csk的博客 260
上一篇: 【DP】LeetCode 53. Maximum Subarray
下一篇: 【重点!DP】LeetCode 97. Interleaving String
Allenlzcoder
博客等级 码龄10年 925粉丝 512原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值