news 2026/4/16 11:54:44

leetcode 1292. 元素和小于等于阈值的正方形的最大边长 中等

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
leetcode 1292. 元素和小于等于阈值的正方形的最大边长 中等

给你一个大小为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] <= 10^4
  • 0 <= threshold <= 10^5

分析:预处理出二维前缀和数组 pre_sum,其中 pre_sum[i][j] 代表坐标 (i,j) 自身以及它下方、右方所有元素的和。之后枚举正方形边长,检查是否存在元素和小于 threshold 的情况。

int maxSideLength(int** mat, int matSize, int* matColSize, int threshold) { int n=matSize,m=matColSize[0]; int pre_sum[n+5][m+5]; for(int i=0;i<=n;++i) for(int j=0;j<=m;++j) pre_sum[i][j]=0; pre_sum[n-1][m-1]=mat[n-1][m-1]; for(int j=m-2;j>=0;--j) pre_sum[n-1][j]=mat[n-1][j]+pre_sum[n-1][j+1]; for(int i=n-2;i>=0;--i) pre_sum[i][m-1]=mat[i][m-1]+pre_sum[i+1][m-1]; for(int i=n-2;i>=0;--i) for(int j=m-2;j>=0;--j) pre_sum[i][j]=mat[i][j]+pre_sum[i+1][j]+pre_sum[i][j+1]-pre_sum[i+1][j+1]; int maxn=n>=m?m:n,ans=0; for(int l=0;l<=maxn;++l) { int f=0; for(int i=0;i<n-l&&!f;i++) { int sum=0; for(int j=0;j<m-l&&!f;++j) { sum=pre_sum[i][j]-pre_sum[i+l+1][j]-pre_sum[i][j+l+1]+pre_sum[i+l+1][j+l+1]; if(sum<=threshold) f=1; } } if(!f)break; ans=l+1; } return ans; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 0:24:30

Mandiant 发布彩虹表工具集,可破解 NTLMv1 管理员密码

谷歌旗下 Mandiant 公司近日公开了一套完整的 Net-NTLMv1 彩虹表数据集&#xff0c;这一举措显著放大了传统认证协议的安全风险警示。过时协议的安全危机此次发布传递了一个紧迫信号&#xff1a;企业必须立即弃用 Net-NTLMv1 协议。该协议自 1999 年起就被证实存在加密缺陷&…

作者头像 李华
网站建设 2026/4/12 21:03:47

(新界面)NVR运动检测配置指导

(新界面)宇视 NVR运动检测功能配置指导一、功能介绍检测一段时间内某个区域是否存在物体运动&#xff0c;检测到运动物体时&#xff0c;上报运动检测报警。检测报警可在通道报警&#xff0c;日志查询中查看。旧版本NVR需升级至NVR-BXXXX.50.13.250529或更高版本&#xff0c;方可…

作者头像 李华
网站建设 2026/4/11 20:09:53

2026 年寒假写论文 AI 选型指南

2026 年寒假写论文 AI 选型指南7 类工具&#xff0c;按“写作阶段”选&#xff0c;不再瞎试寒假是论文推进的关键窗口期&#xff0c;但很多人效率低下&#xff0c;并不是不努力&#xff0c;而是工具选型从一开始就错位。到 2026 年&#xff0c;写论文用 AI 已经不是“能不能写”…

作者头像 李华
网站建设 2026/4/11 22:15:15

全网最全2026本科生AI论文工具TOP9测评

全网最全2026本科生AI论文工具TOP9测评 2026年本科生AI论文工具测评&#xff1a;为何需要一份权威榜单&#xff1f; 随着人工智能技术的不断进步&#xff0c;越来越多的本科生开始借助AI工具提升论文写作效率。然而&#xff0c;面对市场上琳琅满目的AI论文辅助软件&#xff0c;…

作者头像 李华
网站建设 2026/4/11 15:35:35

全面讲解常见虚拟串口工具的初始化配置

虚拟串口实战指南&#xff1a;从配置到应用&#xff0c;打通嵌入式通信的“任督二脉”你有没有遇到过这样的场景&#xff1f;手头一个嵌入式设备等着调试&#xff0c;上位机软件只认COM3&#xff0c;可你的笔记本连个DB9接口都没有&#xff1b;或者两个本地程序非要通过串口通信…

作者头像 李华
网站建设 2026/4/12 3:18:39

Obsidian中Template的使用

前言 Obsidian 有两个主要的模板相关插件&#xff1a;官方核心插件 Templates和社区增强插件 Templater。Templater 是官方 Templates 的功能扩展版&#xff0c;可完全替代官方插件&#xff0c;提供更强大的动态模板能力。 建议使用社区版本&#xff0c;功能更多。 功能&#x…

作者头像 李华