news 2026/5/1 7:05:53

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/5/1 3:05:35

leetcode 3047. 求交集区域内的最大正方形面积 中等

在二维平面上存在 n 个矩形。给你两个下标从 0 开始的二维整数数组 bottomLeft 和 topRight&#xff0c;两个数组的大小都是 n x 2 &#xff0c;其中 bottomLeft[i] 和 topRight[i] 分别代表第 i 个矩形的 左下角 和 右上角 坐标。我们定义 向右 的方向为 x 轴正半轴&#xff0…

作者头像 李华
网站建设 2026/5/1 3:07:04

这几个低代码数据采集爬虫工具,非常强大~

爬虫&#xff0c;又称为网络爬虫或网页爬虫&#xff0c;是一种自动浏览互联网的程序&#xff0c;它按照一定的算法顺序访问网页&#xff0c;并从中提取有用信息。爬虫软件通常由以下几部分组成&#xff1a; - 用户代理&#xff08;User-Agent&#xff09;&#xff1a;模拟浏览…

作者头像 李华
网站建设 2026/5/1 3:05:59

基于DeepSeek-OCR大模型的WebUI部署指南,支持PDF与批量处理

基于DeepSeek-OCR大模型的WebUI部署指南&#xff0c;支持PDF与批量处理 1. 简介与核心价值 DeepSeek-OCR 是一款由 DeepSeek 开源的高性能光学字符识别&#xff08;OCR&#xff09;大模型&#xff0c;专为复杂场景下的文本提取任务设计。其采用先进的深度学习架构&#xff0c…

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

iOS App 抓不到包时的常见成因与判断思路,结合iOS 调试经验

很多人第一次遇到 iOS 抓不到包&#xff0c;反应都很一致&#xff0c;重装证书、换端口、重启工具、再试一次。 但如果你做过几次真实项目&#xff0c;很快就会意识到一个事实&#xff1a; 抓不到包&#xff0c;本质上是网络路径不在你的位置上。 工具只是在某一层等请求经过&a…

作者头像 李华
网站建设 2026/5/1 3:04:21

Redis 性能问题全解析:90% 的人都把活干错了地方

有一天,我在小区楼下吃火锅。这家店平时生意一般,但那天刚好是周五晚上,又赶上短视频平台一个博主探店,一下子全城爆单。 老板急得满头大汗,一边招呼客人,一边对我说了一句特别有“Redis 味道”的话:“小伙子,不是菜不好,是后厨快被自己累死了。” 我当时一愣。后来…

作者头像 李华