当前位置: 首页 > news >正文

leetcode 1895. 最大的幻方 中等

一个k x k幻方指的是一个k x k填满整数的方格阵,且每一行、每一列以及两条对角线的和全部相等。幻方中的整数不需要互不相同。显然,每个1 x 1的方格都是一个幻方。

给你一个m x n的整数矩阵grid,请你返回矩阵中最大幻方尺寸(即边长k)。

示例 1:

输入:grid = [[7,1,4,5,6],[2,5,1,6,4],[1,5,4,3,2],[1,2,7,3,4]]输出:3解释:最大幻方尺寸为 3 。 每一行,每一列以及两条对角线的和都等于 12 。 - 每一行的和:5+1+6 = 5+4+3 = 2+7+3 = 12 - 每一列的和:5+5+2 = 1+4+7 = 6+3+3 = 12 - 对角线的和:5+4+3 = 6+4+2 = 12

示例 2:

输入:grid = [[5,1,3,1],[9,3,3,1],[1,3,3,8]]输出:2

提示:

  • m == grid.length
  • n == grid[i].length
  • 1 <= m, n <= 50
  • 1 <= grid[i][j] <= 10^6

分析:先求出水平、垂直、主对角线、反对角线的前缀和,再枚举幻方边长,遍历矩阵的每个点作为左上角点时幻方是否满足条件。

int largestMagicSquare(int** grid, int gridSize, int* gridColSize) { int n=gridSize,m=gridColSize[0],ans=1; int sum_hor[n+5][m+5],sum_ver[n+5][m+5],sum_lr[n+5][m+5],sum_rl[n+5][m+5]; for(int i=0;i<=n;++i) for(int j=0;j<=m;++j) sum_hor[i][j]=sum_ver[i][j]=sum_lr[i][j]=sum_rl[i][j]=0; for(int i=0;i<n;++i) for(int j=m-1;j>=0;--j) sum_hor[i][j]=grid[i][j]+sum_hor[i][j+1]; for(int j=0;j<m;++j) for(int i=n-1;i>=0;--i) sum_ver[i][j]=grid[i][j]+sum_ver[i+1][j]; for(int i=n-1;i>=0;--i) for(int j=m-1;j>=0;--j) sum_lr[i][j]=grid[i][j]+sum_lr[i+1][j+1]; for(int i=n-1;i>=0;--i) for(int j=0;j<m;++j) { sum_rl[i][j]=grid[i][j]; if(j)sum_rl[i][j]+=sum_rl[i+1][j-1]; } int maxn=fmin(n,m); for(int l=1;l<maxn;++l) { for(int i=0;i<n-l;++i) { for(int j=0;j<m-l;++j) { int temp=sum_lr[i][j]-sum_lr[i+l+1][j+l+1],f1=0; if(j-1>=0) { if(sum_rl[i][j+l]-sum_rl[i+l+1][j-1]==temp)f1=1; } else if(sum_rl[i][j+l]==temp)f1=1; for(int k=0;k<=l&&f1;++k) { if(sum_hor[i+k][j]-sum_hor[i+k][j+l+1]!=temp)f1=0; if(sum_ver[i][j+k]-sum_ver[i+l+1][j+k]!=temp)f1=0; } if(f1)ans=fmax(ans,l+1); } } } return ans; }
http://www.jsqmd.com/news/268577/

相关文章:

  • 你的SCI论文总被拒?中国学生最易踩的6个坑
  • Gitee:2026年企业数字化转型中的项目管理核心引擎
  • 2026阀门管件铸造厂家权威推荐榜单:硅溶胶精密铸造/不锈钢铸造/碳钢精密铸造/非标铸造件源头厂家精选。
  • Gitee:中国企业数字化转型的核心技术引擎
  • 2026年四川机电设备制造空压机/ 螺杆空压机 /无油空压机 /静音空压机 /激光空压行业竞争格局深度分析报告:聚焦“智能数控化与集成解决方案” - 2026年企业推荐榜
  • 【毕业设计】基于springboot的成人小饭桌微信小程序(源码+文档+远程调试,全bao定制等)
  • 注意!这几家正规丙烯酸厂家,你必读!
  • 一键批量提取并导出海量照片的GPS与Exif信息,构建你的空间数据库【技术人必备的效率利器】
  • 通义万相15秒长视频生成功能深度技术讲解:从扩散模型到影视级创作的完整路径
  • 这几个低代码数据采集爬虫工具,非常强大~
  • 2026年南京西门子变频器回收公司推荐榜:金南磊机电回收中心,AB罗克韦尔回收/工控原件回收/西门子回收/西门子触摸屏回收/AB罗克韦尔模块回收/AB罗克韦尔触摸屏回收/电子原件回收公司精选
  • ASTM D4169抗压测试全解析:守护物流astmd4169包装安全的核心标准
  • GESP认证C++编程真题解析 | 202312 二级
  • ASTM D4169温度测试:筑牢产品运输astmd4169安全的环境防线
  • 在线VOCs厂家实力对比:技术与服务谁更胜一筹? - 品牌推荐大师1
  • 振动抛光机哪个品牌评价好?质量、耐用性和售后全评测 - 品牌推荐大师
  • AI大模型提示词公式
  • (新界面)NVR运动检测配置指导
  • 技术破局:低代码如何重构建筑业数字化底层逻辑?
  • 2026年1月商用/力量型/家用/健身器材企业选型指南:智能驱动与场景适配下的最优解 - 2026年企业推荐榜
  • 从0到1落地智能家居AI交互:LLaMA Factory Qwen3-4B 微调实战指南
  • leetcode 1292. 元素和小于等于阈值的正方形的最大边长 中等
  • 阿里OSS简单上传 有分片
  • Obsidian同步太折腾?试试坚果云官方插件:免WebDAV配置,支持Git级冲突合并
  • GESP认证C++编程真题解析 | 202312 一级
  • 我常用的一个电商数据采集软件,低代码爬虫
  • 长晶科技AD-BC807、AD-BC847、AD-BC857 等多系列车规三极管解析
  • Obsidian移动端同步终极方案:坚果云官方插件深度评测(附防冲突与加速技巧)
  • springboot交通管理在线服务系统的开发(11736)
  • 突破局域网限制!Pansou+cpolar 让网盘资源搜索自由又高效