news 2026/4/3 3:18:59

leetcode 85. 最大矩形 困难

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
leetcode 85. 最大矩形 困难

给定一个仅包含01、大小为rows x cols的二维二进制矩阵,找出只包含1的最大矩形,并返回其面积。

示例 1:

输入:matrix = [["1","0","1","0","0"],["1","0","1","1","1"],["1","1","1","1","1"],["1","0","0","1","0"]]输出:6解释:最大矩形如上图所示。

示例 2:

输入:matrix = [["0"]]输出:0

示例 3:

输入:matrix = [["1"]]输出:1

提示:

  • rows == matrix.length
  • cols == matrix[0].length
  • 1 <= rows, cols <= 200
  • matrix[i][j]'0''1'

分析:先用一个 area 数组,记录坐标 (i,j) 处的矩形高度。当 matrix[i][j] 为 1时,判断是否为矩阵的第 1 行,如果是,则 area[i][j] 为 1;如果不是第一行,则 area[i][j]=1+area[i-1][j],相当于在第 i-1 行第 j 列的位置下面垫了一层。统计完 area 数组后,用一个三重循环,计算从第 i 行第 j 列开始,向右可以获得的最大矩形面积,最后返回计算过程中最大的面积即可。

int maximalRectangle(char** matrix, int matrixSize, int* matrixColSize) { int n=matrixSize,m=matrixColSize[0],ans=0; int area[n+5][m+5]; for(int i=0;i<n;++i) { for(int j=0;j<m;++j) { area[i][j]=0; if(matrix[i][j]=='1') { if(!i)area[i][j]=1; else area[i][j]=1+area[i-1][j]; ans=fmax(ans,area[i][j]); } } } for(int i=0;i<n;++i) { for(int j=0;j<m;++j) { if(area[i][j]) { int sum=area[i][j],h=area[i][j]; for(int k=j+1;k<m;++k) { if(!area[i][k])break; else h=fmin(h,area[i][k]),sum=h*(k-j+1); ans=fmax(ans,sum); } } } } return ans; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/28 3:45:34

从输入到分类只需三步|体验AI万能分类器的极致便捷与高效

从输入到分类只需三步&#xff5c;体验AI万能分类器的极致便捷与高效 关键词&#xff1a;AI万能分类器、零样本分类、StructBERT、文本分类、WebUI、自然语言处理、智能打标 摘要&#xff1a;本文将带您深入体验一款基于 StructBERT 零样本模型 的“AI 万能分类器”镜像。无需训…

作者头像 李华
网站建设 2026/4/1 13:37:31

如何用AI快速搭建Rocky Linux开发环境

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个自动化脚本&#xff0c;用于在Rocky Linux上配置Python开发环境。脚本需要完成以下功能&#xff1a;1. 更新系统软件包 2. 安装Python 3.8和pip 3. 配置虚拟环境工具 4. 安…

作者头像 李华
网站建设 2026/3/27 0:16:50

vSphere管理效率提升300%的AI技巧

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 构建一个AI增强的vSphere管理面板&#xff0c;能够智能分析虚拟机使用模式&#xff0c;自动建议资源分配优化方案。要求实现一键式批量操作、智能日志分析和预测性维护提醒。使用R…

作者头像 李华
网站建设 2026/3/27 0:40:53

GITHUB镜像站 vs 直接访问:效率对比分析

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个性能测试工具&#xff0c;用于比较GITHUB镜像站和直接访问GITHUB的速度差异。工具应包含以下功能&#xff1a;1. 测试克隆仓库的速度&#xff1b;2. 测试拉取更新的速度&a…

作者头像 李华