news 2026/4/22 16:31:57

leetcode 1895. 最大的幻方 中等

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 11:35:25

突破局域网限制!Pansou+cpolar 让网盘资源搜索自由又高效

✨道路是曲折的&#xff0c;前途是光明的&#xff01; &#x1f4dd; 专注C/C、Linux编程与人工智能领域&#xff0c;分享学习笔记&#xff01; &#x1f31f; 感谢各位小伙伴的长期陪伴与支持&#xff0c;欢迎文末添加好友一起交流&#xff01; 目录引言1.关于Pansou2.飞牛os环…

作者头像 李华
网站建设 2026/4/23 14:42:14

ASTM D4169温度测试:筑牢产品运输astmd4169安全的环境防线

在全球化物流体系中&#xff0c;运输环境的温湿度波动是影响产品品质与包装完整性的关键因素。ASTM D4169作为北美乃至全球公认的运输包装性能测试标准&#xff0c;其温度测试模块通过精准模拟全链路温湿环境&#xff0c;为产品在仓储、运输、装卸全流程的稳定性提供科学验证&a…

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

2026年如何选择EOR名义雇主服务?值得关注的三大优质品牌排行

在全球化加速的背景下&#xff0c;EOR名义雇主服务正成为企业跨国用工的重要选择。这类服务能够帮助企业合法雇佣海外员工&#xff0c;避免了复杂的法律和税务问题。使用EOR名义雇主服务&#xff0c;企业可以轻松应对不同国家的合规要求&#xff0c;减少因法律风险带来的不必要…

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

pdf生成排查记录与解决方案

pdf生成排查记录与解决方案 第一次出错&#xff1a;ClassNotFound异常 错误信息 Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: org/springframework/http/client/ClientHttpRequestFactory排查步骤 1. 验证类路径是否存在 package com.tgerp…

作者头像 李华
网站建设 2026/4/22 17:42:02

吉时利2430/keithley2430数字源表

keithley2430脉冲数字源表吉时利SourceMeter&#xff08;数字源表&#xff09;系列是专为那些要求紧密结合激励源和测量功能&#xff0c;要求精密电压源并同时进行电流与电压测量的测试应用而设计的。所有源表均由一个精密的、低噪声、高稳定的带回读功能的直流电源和一个低噪声…

作者头像 李华
网站建设 2026/4/22 18:13:45

YOLOv8部署指南:工业机器人视觉引导系统

YOLOv8部署指南&#xff1a;工业机器人视觉引导系统 1. 引言 在智能制造与自动化产线中&#xff0c;机器视觉正成为工业机器人实现精准操作的核心感知能力。传统视觉方案依赖固定模板匹配&#xff0c;难以应对复杂、动态的生产环境。而基于深度学习的目标检测技术&#xff0c…

作者头像 李华