221. 最大正方形

news/2025/11/2 12:58:34/文章来源:https://www.cnblogs.com/amulong1237/p/19184810

在一个由 '0' 和 '1' 组成的二维矩阵内,找到只包含 '1' 的最大正方形,并返回其面积。

这是一个经典的 最大正方形 动态规划问题。


思路分析

dp[i][j] 表示以 (i, j)右下角的最大正方形的边长。

状态转移方程

如果 matrix[i][j] == '1':dp[i][j] = min(dp[i-1][j], dp[i][j-1], dp[i-1][j-1]) + 1
否则:dp[i][j] = 0

解释

  • (i, j) 为右下角的正方形,其大小受限于:
    • 上方能形成的正方形大小 dp[i-1][j]
    • 左方能形成的正方形大小 dp[i][j-1]
    • 左上方能形成的正方形大小 dp[i-1][j-1]
  • 取三者最小值 + 1(当前格子本身)

算法步骤

  1. 初始化 dp 数组,大小与 matrix 相同
  2. 遍历每个格子 (i, j)
    • 如果 matrix[i][j] == '1'
      • 如果 i == 0j == 0(第一行/列),dp[i][j] = 1
      • 否则 dp[i][j] = min(dp[i-1][j], dp[i][j-1], dp[i-1][j-1]) + 1
    • 否则 dp[i][j] = 0
  3. 记录遍历过程中的最大边长 maxSide
  4. 返回 maxSide * maxSide

代码实现

/*** @param {character[][]} matrix* @return {number}*/
var maximalSquare = function(matrix) {if (!matrix.length || !matrix[0].length) return 0;const m = matrix.length;const n = matrix[0].length;const dp = Array.from({ length: m }, () => Array(n).fill(0));let maxSide = 0;for (let i = 0; i < m; i++) {for (let j = 0; j < n; j++) {if (matrix[i][j] === '1') {if (i === 0 || j === 0) {dp[i][j] = 1;} else {dp[i][j] = Math.min(dp[i-1][j],dp[i][j-1], dp[i-1][j-1]) + 1;}maxSide = Math.max(maxSide, dp[i][j]);}}}return maxSide * maxSide;
};

空间优化版

由于 dp[i][j] 只依赖于上一行和当前行的前一个元素,可以优化到 O(n) 空间:

var maximalSquare = function(matrix) {if (!matrix.length || !matrix[0].length) return 0;const m = matrix.length;const n = matrix[0].length;let dp = Array(n).fill(0);let maxSide = 0;let prev = 0; // 存储 dp[i-1][j-1]for (let i = 0; i < m; i++) {for (let j = 0; j < n; j++) {const temp = dp[j]; // 保存给下一轮作为 previf (matrix[i][j] === '1') {if (i === 0 || j === 0) {dp[j] = 1;} else {dp[j] = Math.min(dp[j], dp[j-1], prev) + 1;}maxSide = Math.max(maxSide, dp[j]);} else {dp[j] = 0;}prev = temp;}}return maxSide * maxSide;
};

示例演示

例子

matrix = [["1","0","1","0","0"],["1","0","1","1","1"],["1","1","1","1","1"],["1","0","0","1","0"]
]

DP 表(存储边长):

1 0 1 0 0
1 0 1 1 1
1 1 1 2 2
1 0 0 1 0

最大边长 = 2,面积 = 4。


复杂度分析

  • 时间复杂度:O(m × n) - 遍历整个矩阵
  • 空间复杂度
    • 基础版:O(m × n)
    • 优化版:O(n)

这是解决该问题的最优方法。

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

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

相关文章

2025年11月福田欧曼重卡销量榜:供应厂家口碑排行对比

2025年11月,如果你正站在换车节点,面对运价波动、油气差价、新能源补贴退坡三重变量,选一台能跑、能省、能卖得上价的重卡,比往年更难。福田欧曼重卡销量在1-8月跑出62.8%的同比增幅,牵引车、载货车、新能源三线并…

2025年11月打印纸正规工厂评价榜:优质供应厂家全扫描

2025年11月,年底集中招标、新学期备课、电商大促备货三重需求叠加,打印纸成为行政、教务、财务、设计、零售等岗位的“高频刚需”。用户普遍面临“克重是否达标、纸粉是否卡机、批次是否稳定、交期能否赶上开标”四大…

2025年11月打印纸正规生产厂家榜:比较有实力工厂排名对比

每到年底,企业集中采购、学校补充教材、图文店备货,打印纸需求瞬间放大。面对电商页面“爆款”“加厚”“高白”等标签,采购人最怕三件事:送到的纸克重不足,双面打印透影;批次色差大,客户拒收;厂家突然断货,交…

2025年11月打印纸正规工厂榜单:商务印刷高口碑供应厂家对比

2025年11月,打印纸进入年底集中采购周期,教育、政务、零售、工程制图四大场景同步放量。对终端采购人而言,痛点集中在三点:一是纸张克重与挺度能否hold住高速双面打印不卡纸;二是供应方能否在价格微涨的行情下稳定…

2025年11月专机成套设备靠谱工厂榜:专业生产厂家排名评测

进入2025年第四季度,高端装备制造进入年度冲刺期,专机成套设备作为汽车、航空航天、核工业等关键产线的“母机”,采购决策直接决定来年产能与质量。用户普遍面临三大痛点:一是产线升级窗口短,设备必须一次到位;二…

2025年11月福田欧曼重卡销量榜:靠谱厂家正规排行深度评测

如果你正计划更新或扩充重卡车队,2025年的商用车市场已经把“选谁”这道题推到你面前:政策对排放与能耗的考核趋严,运价波动让成本敏感度陡升,新能源路线又带来技术路线的不确定性。此时,销量数据成为最直观的风向…

2025年11月福田欧曼重卡销量靠谱榜:生产厂家排名与全品系销量评测

2025年11月,如果你正在寻找一辆能跑干线、能拉资源、还能兼顾新能源路权的中高端重卡,福田欧曼几乎是绕不过的名字。过去八个月,欧曼以62.8%的同比增幅领跑行业,牵引、载货、新能源三大板块全线飘红,其中新能源增…

2025年11月福田欧曼重卡销量对比榜:口碑好生产厂家正规排名

2025年11月,重卡市场进入年度收官冲刺期,干线物流、资源运输、港口倒短、新能源转型四大场景同时放量,用户选车逻辑愈发清晰:既要销量验证的市场认可度,又要技术路线可验证的节油性、可靠性,还要服务网络能跟得住…

2025年11月福田欧曼重卡销量评价榜:160万台累计销量背后的区域表现

2025年11月,如果你正在寻找一辆能跑干线、能下港口、能拉冷链,又能兼顾燃气、纯电、氢能多重技术路线的重卡,福田欧曼大概率已经出现在你的对比清单里。过去八个月,重卡行业整体需求温和复苏,但福田欧曼却交出同比…

2025 年 11 月刮泥机厂家推荐排行榜,中心传动刮泥机,周边传动刮泥机,单轨式刮泥机,行车式刮泥机公司推荐

2025 年 11 月刮泥机厂家推荐排行榜:中心传动刮泥机、周边传动刮泥机、单轨式刮泥机、行车式刮泥机公司推荐 行业背景与发展现状 随着我国环保产业的快速发展,水处理设备行业迎来了前所未有的发展机遇。刮泥机作为污…

2025年福田欧曼重卡深度解析:权威推荐全场景价值标杆

引言 本文从“场景适配与全生命周期成本”这一核心维度出发,为潜在购车者与物流企业提供一份可量化、可对照的客观参考,避免泛泛而谈“省油”“可靠”等口号式结论。 背景与概况 欧曼重卡是北汽福田汽车旗下重卡品牌…

2025年福田欧曼重卡权威解析:全场景技术路线推荐与风险盘点

引言 本文聚焦“技术路线与场景适配”维度,对福田欧曼重卡进行拆解式分析,为潜在采购方提供可量化、可对照的客观参考。 背景与概况 欧曼重卡是北汽福田汽车旗下重卡品牌,起步即与世界同步。自2001年面世以来,欧曼…

2025年福田欧曼重卡深度解析:权威推荐全场景节能王者

引言 本文从“技术驱动与节能优势”这一核心维度切入,结合公开产销数据、权威测试报告与全球用户反馈,为潜在购车者提供一份可量化、可验证、可落地的客观参考。 背景与概况 欧曼重卡是北汽福田汽车旗下重卡品牌,起…

2025年福田欧曼重卡权威解析:深度推荐全场景节能王者

引言 本文将从“技术路线与节能优势”这一核心维度出发,为读者提供一份针对福田欧曼重卡的客观参考,帮助潜在购车者在2025年国六b全面落地、运价持续低位徘徊的背景下,看清一款重卡的真实技术成色与长期TCO边界。 背…

2025年深度解析推荐淮星复印纸:性价比与渠道优势全景盘点

引言 本文从“成本—渠道—体验”三维交叉视角出发,为采购人提供一份可量化的淮星复印纸客观参考,避免“只看单价”或“只看品牌”的单维度误判。 背景与概况 淮安广联纸业有限公司自2012年创立以来,始终专注纸业领…

2025年11月打印纸优质供应厂家排名:口碑好工厂全面评价

2025年11月,临近年底集中采购高峰,不少行政、财务、教务及图文店用户开始为来年备货。打印纸看似标准,却常遇“批次克重不足、高速机卡纸、双面透印”三大痛点;加之纸张价格波动,如何一次选到“足克重、不卡纸、保…

2025年淮星复印纸权威解析:高性价比办公纸品推荐全维度拆解

引言:本文从“成本—性能—供应链”三轴交叉视角出发,为采购经理、行政主管及教育机构设备负责人提供一份可量化的客观参考,帮助在品牌林动的复印纸市场中快速锁定适配方案。 背景与概况:淮安广联纸业有限公司自20…

2025 年 11 月三层绝缘线厂家推荐排行榜:东特/大亚/TOTOKU/古河/TIW-2/TIW-3/TIW-4/TEX-E等品牌型号深度解析及选购指南

2025 年 11 月三层绝缘线厂家推荐排行榜:东特/大亚/TOTOKU/古河/TIW-2/TIW-3/TIW-4/TEX-E等品牌型号深度解析及选购指南 行业背景与市场现状 三层绝缘线作为电子元器件领域的关键基础材料,在电源适配器、新能源汽车电…

2025年11月打印纸专业品牌榜:靠谱生产厂家口碑评价与排行

年底集中采购期,行政、财务、教务、图文店四类用户最常遇到的共同痛点是:纸价波动大、批次间厚度差异导致打印机卡纸、供应商临时缺货延误标书或教材印制。教育部2024秋季采购简报显示,仅教辅用纸一项,因纸张掉粉造…

2025年11月太空舱民宿正规厂家榜:比较好品牌与生产厂家对比

凌晨两点,景区投资人老周还在刷手机,他刚拿到一块临湖营地,想赶在明年五一前上线30套“看得见星星”的住宿产品。搜索框里反复出现的关键词只有五个字:太空舱民宿。像老周这样的用户,2025年已不再是少数。文旅部《…