leetcode 1895(前缀和+暴力枚举)

1895: 最大的幻方

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

显然,每个1 x 1的方格都是一个幻方。

思路:前缀和+暴力枚举

1.暴力检查

  • 因为m, n ≤ 50,所以最大可能的边长kmin(m,n)
  • 从大到小尝试k,找到第一个满足条件的幻方即可返回

2.优化计算

  • 我们可以预处理行前缀和和列前缀和,以便快速计算任意子矩阵的行和与列和
  • 对角线可以通过直接遍历来求和

3.算法步骤

预处理行前缀和与列前缀和,从大到小枚举边长 k
枚举子矩阵的左上角 (r,c),检查该子矩阵是否为幻方

  • 计算第一行的和作为目标值
  • 检查所有行的和是否等于目标值
  • 检查所有列的和是否等于目标值
  • 检查两条对角线的和是否等于目标值

如果找到,直接返回当前 k
如果都没找到,返回 1(因为 1×1 总是幻方)

class Solution { public: int largestMagicSquare(vector<vector<int>>& grid) { int m=grid.size(),n=grid[0].size(); vector<vector<int>> rowPrefix(m+1,vector<int>(n+1,0)); //预处理行前缀和和列前缀和 vector<vector<int>> colPrefix(m+1,vector<int>(n+1,0)); for(int i=0;i<m;i++){ for(int j=0;j<n;j++){ rowPrefix[i+1][j+1]=rowPrefix[i+1][j]+grid[i][j]; colPrefix[i+1][j+1]=colPrefix[i][j+1]+grid[i][j]; } } auto getRowsum=[&](int r,int c1,int c2){ return rowPrefix[r+1][c2+1]-rowPrefix[r+1][c1]; }; auto getColsum=[&](int c,int r1,int r2){ return colPrefix[r2+1][c+1]-colPrefix[r1][c+1]; }; for(int k=min(m,n);k>1;k--){ //从大到小枚举边长k for(int r=0;r+k<=m;r++){ for(int c=0;c+k<=n;c++){ int target=getRowsum(r,c,c+k-1); bool ok=true; for(int i=r;i<r+k;i++){ if(getRowsum(i,c,c+k-1)!=target){ ok=false; break; } } if(!ok) continue; for(int j=c;j<c+k;j++){ if(getColsum(j,r,r+k-1)!=target){ ok=false; break; } } if(!ok) continue; int diag1=0,diag2=0; for(int d=0;d<k;d++){ diag1+=grid[r+d][c+d]; diag2+=grid[r+d][c+k-1-d]; } if(diag1!=target || diag2!=target) continue; return k; } } } return 1; } };

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1175886.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

通义千问2.5-7B-Instruct性能优化:推理速度>100tokens/s秘诀

通义千问2.5-7B-Instruct性能优化&#xff1a;推理速度>100tokens/s秘诀 1. 技术背景与性能目标 大语言模型在实际应用中&#xff0c;推理延迟和吞吐量是决定用户体验的关键指标。通义千问2.5-7B-Instruct作为一款70亿参数的全能型指令微调模型&#xff0c;在保持高精度的…

设置鼠标的灵敏度

在生活中使用电脑&#xff0c;有时候发现鼠标指针拖动太慢&#xff0c;更不上手指的节奏。这时候&#xff0c;就需要调整鼠标的指针灵敏度了&#xff0c;这里以Win10系统为例&#xff0c;进行说明&#xff0c;步骤如下。 1 打开控制面板 按WinR快捷键&#xff0c;输入命令: co…

Glyph性能优化秘籍,让推理延迟降低50%

Glyph性能优化秘籍&#xff0c;让推理延迟降低50% 1. 引言&#xff1a;视觉推理的性能瓶颈与优化机遇 随着大语言模型&#xff08;LLM&#xff09;在长文本处理任务中的广泛应用&#xff0c;上下文长度扩展成为关键挑战。传统方法通过修改注意力机制或位置编码来扩展上下文窗…

BGE-M3零基础教程:云端GPU免配置,1小时1块快速上手

BGE-M3零基础教程&#xff1a;云端GPU免配置&#xff0c;1小时1块快速上手 你是不是也遇到过这种情况&#xff1f;大三做课程项目&#xff0c;老师要求实现一个文本相似度匹配系统&#xff0c;比如判断两句话是不是表达同一个意思、或者从一堆文档里找出最相关的段落。听起来不…

USB over Network中端点映射的驱动级操作指南

USB over Network 中端点映射的驱动级实战解析从一个“键盘乱码”问题说起你有没有遇到过这种情况&#xff1a;远程连接一台工控机&#xff0c;插上USB键盘&#xff0c;输入时却出现字符错乱&#xff1f;按的是A&#xff0c;屏幕上跳出来的却是F2。排查一圈硬件、线缆、供电都没…

新手必看:Qwen2.5-7B LoRA微调一键上手指南

新手必看&#xff1a;Qwen2.5-7B LoRA微调一键上手指南 1. 引言&#xff1a;为什么选择LoRA微调Qwen2.5-7B&#xff1f; 在当前大模型快速发展的背景下&#xff0c;如何以低成本、高效率的方式实现模型的个性化定制&#xff0c;成为开发者和研究者关注的核心问题。通义千问团…

YOLO26数据集格式转换:COCO转YOLO自动化脚本

YOLO26数据集格式转换&#xff1a;COCO转YOLO自动化脚本 在深度学习目标检测任务中&#xff0c;数据集的标注格式是模型训练的关键前提。YOLO系列模型&#xff08;包括最新的YOLO26&#xff09;使用特定的文本标注格式&#xff0c;而许多公开数据集&#xff08;如COCO&#xf…

从下载到调用:DeepSeek-R1轻量化模型完整使用手册

从下载到调用&#xff1a;DeepSeek-R1轻量化模型完整使用手册 随着大模型在边缘设备和本地化部署场景中的需求日益增长&#xff0c;轻量化、高效率的推理方案成为开发者关注的重点。DeepSeek-R1-Distill-Qwen-1.5B 作为 DeepSeek 团队推出的蒸馏优化版本&#xff0c;在保持较高…

使用QTabWidget构建模块化UI:从零实现完整示例

用 QTabWidget 打造清晰可维护的模块化桌面应用&#xff1a;从原理到实战你有没有遇到过这样的项目&#xff1f;一个窗口里塞满了几十个按钮、文本框和图表&#xff0c;用户每次操作都得在一堆控件中“寻宝”&#xff0c;而开发者自己打开代码时也分不清哪段逻辑属于哪个功能。…

YOLO11+自定义数据集:打造专属检测模型

YOLO11自定义数据集&#xff1a;打造专属检测模型 在计算机视觉领域&#xff0c;目标检测是核心任务之一。随着YOLO系列算法的持续演进&#xff0c;YOLO11作为最新一代版本&#xff0c;在精度、速度和灵活性方面实现了显著提升。本文将围绕如何使用YOLO11结合自定义数据集训练…

Hunyuan MT1.5-1.8B开源亮点解析:在线策略蒸馏技术揭秘

Hunyuan MT1.5-1.8B开源亮点解析&#xff1a;在线策略蒸馏技术揭秘 1. 背景与核心价值 随着多语言交流需求的快速增长&#xff0c;轻量级、高效率的神经机器翻译&#xff08;NMT&#xff09;模型成为边缘设备和移动端应用的关键基础设施。传统大模型虽具备强大翻译能力&#…

Qwen2.5-7B-Instruct科研论文:文献综述自动生成

Qwen2.5-7B-Instruct科研论文&#xff1a;文献综述自动生成 1. 技术背景与应用场景 随着人工智能在自然语言处理领域的持续突破&#xff0c;大型语言模型&#xff08;LLM&#xff09;正逐步成为科研辅助工具的核心组件。尤其在学术写作中&#xff0c;文献综述的撰写是一项耗时…

NotaGen vs 人类作曲家对比实测:云端GPU 3小时省万元

NotaGen vs 人类作曲家对比实测&#xff1a;云端GPU 3小时省万元 你是不是也遇到过这样的困境&#xff1f;作为独立游戏开发者&#xff0c;项目进度卡在背景音乐上——请专业作曲家报价动辄上万&#xff0c;自己又不懂编曲&#xff1b;用现成的免版税音乐吧&#xff0c;又怕风…

DeepSeek-OCR实战:10分钟搭建文档识别系统,成本不到3块钱

DeepSeek-OCR实战&#xff1a;10分钟搭建文档识别系统&#xff0c;成本不到3块钱 你是不是也遇到过这样的情况&#xff1f;公司每天收到几十份合同扫描件&#xff0c;手动录入信息又慢又容易出错。你想用AI来自动识别这些文档内容&#xff0c;结果在本地电脑上折腾了两天&…

通俗解释Multisim14.3中虚拟仪器的使用方式

Multisim14.3虚拟仪器实战指南&#xff1a;像搭积木一样玩转电路仿真你有没有过这样的经历&#xff1f;想测试一个放大电路&#xff0c;手头却没有示波器&#xff1b;调试滤波器时&#xff0c;函数发生器频率调不准&#xff1b;做数字实验&#xff0c;逻辑分析仪太贵买不起………

IndexTTS-2-LLM部署实战:物联网设备语音集成

IndexTTS-2-LLM部署实战&#xff1a;物联网设备语音集成 1. 引言 随着智能硬件和边缘计算的快速发展&#xff0c;语音交互已成为物联网&#xff08;IoT&#xff09;设备提升用户体验的核心能力之一。在众多语音技术中&#xff0c;文本转语音&#xff08;Text-to-Speech, TTS&…

高速信号PCB设计中使用 Altium Designer 进行串扰抑制方法

高速信号PCB设计中如何用 Altium Designer 抑制串扰&#xff1f;实战全解析 在今天的高速数字系统设计中&#xff0c;GHz级信号已不再是实验室里的“前沿科技”&#xff0c;而是嵌入式、通信和计算平台的标配。从FPGA到DDR5内存&#xff0c;从PCIe Gen4到千兆以太网&#xff0c…

科哥开发的WebUI好用吗?用户真实反馈汇总

科哥开发的WebUI好用吗&#xff1f;用户真实反馈汇总 1. 引言&#xff1a;Z-Image-Turbo WebUI 的定位与价值 在AI图像生成工具快速迭代的当下&#xff0c;一个易用、稳定且高效的前端界面&#xff08;WebUI&#xff09;往往决定了模型能否真正落地于实际创作场景。由开发者“…

Qwen3-VL产品识别精度测试:电商图像搜索功能部署实测

Qwen3-VL产品识别精度测试&#xff1a;电商图像搜索功能部署实测 1. 背景与场景需求 随着电商平台商品数量的爆炸式增长&#xff0c;传统基于文本标签的图像检索方式已难以满足用户对“以图搜图”精准度和语义理解深度的需求。尤其是在服饰、家居、数码配件等视觉特征复杂、品…

如何用Image-to-Video为电商产品制作高质量展示视频

如何用Image-to-Video为电商产品制作高质量展示视频 1. 引言 在电商领域&#xff0c;商品展示方式直接影响用户的购买决策。传统的静态图片虽然能呈现产品外观&#xff0c;但缺乏动态感和沉浸式体验。随着AI生成技术的发展&#xff0c;Image-to-Video&#xff08;图像转视频&…