news 2026/5/1 7:36:28

LeetCode 1292.元素和小于等于阈值的正方形的最大边长:二维前缀和(无需二分)+抽象速懂的描述

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LeetCode 1292.元素和小于等于阈值的正方形的最大边长:二维前缀和(无需二分)+抽象速懂的描述

【LetMeFly】1292.元素和小于等于阈值的正方形的最大边长:二维前缀和(无需二分)+抽象速懂的描述

力扣题目链接:https://leetcode.cn/problems/maximum-side-length-of-a-square-with-sum-less-than-or-equal-to-threshold/

给你一个大小为m x n的矩阵mat和一个整数阈值threshold

请你返回元素总和小于或等于阈值的正方形区域的最大边长;如果没有这样的正方形区域,则返回0

示例 1:

输入:mat = [[1,1,3,2,4,3,2],[1,1,3,2,4,3,2],[1,1,3,2,4,3,2]], threshold = 4输出:2解释:总和小于或等于 4 的正方形的最大边长为 2,如图所示。

示例 2:

输入:mat = [[2,2,2,2,2],[2,2,2,2,2],[2,2,2,2,2],[2,2,2,2,2],[2,2,2,2,2]], threshold = 1输出:0

提示:

  • m == mat.length
  • n == mat[i].length
  • 1 <= m, n <= 300
  • 0 <= mat[i][j] <= 104
  • 0 <= threshold <= 105

解题方法:前缀和

二维矩阵的二维前缀和可以快速计算出某个子矩阵的元素和。

AB CD

其中prefix[D]代表从左上角到D这个矩阵的元素和,计算方法为D+B+C-A

ABC DEF GHI

那么想计算EFHI这个子矩阵的元素和就只需要prefix[I]-prefix[C]-prefix[G]+prefix[A]

二层循环枚举矩阵左上角顶点,使用一个变量ans作为答案合法边长并且只增不减,那么二层循环时间复杂度O ( m n ) O(mn)O(mn),内层ans总时间复杂度不会超过O min ⁡ ( m , n ) O\min(m,n)Omin(m,n)

  • 时间复杂度O ( m n ) O(mn)O(mn)
  • 空间复杂度O ( N log ⁡ N ) O(N\log N)O(NlogN)

AC代码

C++
/* * @LastEditTime: 2026-01-19 21:55:16 */classSolution{public:intmaxSideLength(vector<vector<int>>&mat,intthreshold){intn=mat.size(),m=mat[0].size();vector<vector<int>>prefix(n+1,vector<int>(m+1));for(inti=0;i<n;i++){for(intj=0;j<m;j++){prefix[i+1][j+1]=mat[i][j]-prefix[i][j]+prefix[i][j+1]+prefix[i+1][j];}}intans=0;for(inti=0;i<n;i++){for(intj=0;j<m;j++){while(i+ans<n&&j+ans<m&&prefix[i+ans+1][j+ans+1]-prefix[i+ans+1][j]-prefix[i][j+ans+1]+prefix[i][j]<=threshold){ans++;}}}returnans;}};

同步发文于CSDN和我的个人博客,原创不易,转载经作者同意后请附上原文链接哦~

千篇源码题解已开源

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/28 10:26:09

HY-MT1.5-7B实战:构建多语言内容管理系统

HY-MT1.5-7B实战&#xff1a;构建多语言内容管理系统 随着全球化进程的加速&#xff0c;企业对高效、精准的多语言内容管理需求日益增长。传统翻译服务在面对混合语言、专业术语和上下文依赖等复杂场景时&#xff0c;往往表现不佳。混元翻译模型&#xff08;HY-MT&#xff09;…

作者头像 李华
网站建设 2026/5/1 7:30:32

LangFlow多Agent系统实战:云端GPU2小时快速验证

LangFlow多Agent系统实战&#xff1a;云端GPU2小时快速验证 你是不是也遇到过这样的情况&#xff1a;技术总监想评估一个AI项目可行性&#xff0c;但IT部门说采购GPU服务器要走三个月流程&#xff1f;等不起、耗不起&#xff0c;可又不能拍脑袋做决策。别急——今天我就来分享…

作者头像 李华
网站建设 2026/4/25 23:52:36

Vitis与Zynq MPSoC集成:系统学习与配置要点

Vitis与Zynq MPSoC集成&#xff1a;从架构理解到实战调试的完整开发链路在嵌入式系统演进的浪潮中&#xff0c;异构计算已成为突破性能瓶颈的关键路径。Xilinx推出的Zynq UltraScale MPSoC正是这一趋势下的标杆产品——它不再只是“带FPGA的处理器”或“带CPU的逻辑芯片”&…

作者头像 李华
网站建设 2026/4/26 11:26:56

C#工业上通用的顺序控制写法

工业软件里&#xff0c;顺序程序控制最常见、最稳妥的是&#xff1a; &#x1f449;「状态机&#xff08;Step / State&#xff09; 周期扫描&#xff08;Timer/Loop&#xff09; 条件推进」 &#x1f449; 延时用 TON&#xff08;或等效逻辑&#xff09;&#xff0c;而不是 …

作者头像 李华
网站建设 2026/4/25 21:13:13

终极WeMod专业版解锁方案:免费享受完整游戏修改特权

终极WeMod专业版解锁方案&#xff1a;免费享受完整游戏修改特权 【免费下载链接】Wemod-Patcher WeMod patcher allows you to get some WeMod Pro features absolutely free 项目地址: https://gitcode.com/gh_mirrors/we/Wemod-Patcher 还在为WeMod免费版的限制而烦恼…

作者头像 李华
网站建设 2026/5/1 6:24:06

GetQzonehistory:QQ空间历史说说完整备份解决方案

GetQzonehistory&#xff1a;QQ空间历史说说完整备份解决方案 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 在数字时代&#xff0c;QQ空间承载着我们多年来的情感记忆和生活点滴。Get…

作者头像 李华