news 2026/4/16 10:39:56

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

作者头像

张小明

前端开发工程师

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

Qwen情感分析高级教程:领域自适应与微调策略

Qwen情感分析高级教程&#xff1a;领域自适应与微调策略 1. 引言 1.1 技术背景与挑战 随着大语言模型&#xff08;LLM&#xff09;在自然语言处理领域的广泛应用&#xff0c;情感分析作为一项基础且关键的任务&#xff0c;正逐步从传统的专用模型&#xff08;如BERT、TextCN…

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

Qwen3-VL-8B模型微调:适配特定领域任务

Qwen3-VL-8B模型微调&#xff1a;适配特定领域任务 1. 引言 随着多模态大模型在图像理解、视觉问答、图文生成等场景中的广泛应用&#xff0c;如何将高性能模型轻量化并部署到边缘设备成为工程落地的关键挑战。阿里通义实验室推出的 Qwen3-VL-8B-Instruct-GGUF 模型正是针对这…

作者头像 李华
网站建设 2026/4/16 9:26:30

小白也能懂的Z-Image-Turbo:文生图一键启动指南

小白也能懂的Z-Image-Turbo&#xff1a;文生图一键启动指南 1. 背景与目标 随着AI生成内容&#xff08;AIGC&#xff09;技术的快速发展&#xff0c;文生图模型已成为创意设计、内容创作和数字艺术领域的重要工具。然而&#xff0c;许多开源模型在部署时面临下载复杂、依赖繁…

作者头像 李华
网站建设 2026/3/24 22:13:52

零基础教程:如何用预置镜像10分钟搭建DCT-Net卡通化服务

零基础教程&#xff1a;如何用预置镜像10分钟搭建DCT-Net卡通化服务 你是不是也和我一样&#xff0c;看到别人把自拍一键变成动漫角色&#xff0c;心里痒痒的&#xff1f;但一想到要装Python、配CUDA、调PyTorch版本&#xff0c;就直接劝退了。别担心&#xff0c;今天我就带你…

作者头像 李华
网站建设 2026/4/16 9:25:21

DeepSeek-R1-Distill-Qwen-1.5B评测:长文本处理能力

DeepSeek-R1-Distill-Qwen-1.5B评测&#xff1a;长文本处理能力 1. 模型背景与核心价值 DeepSeek-R1-Distill-Qwen-1.5B 是 DeepSeek 团队基于 Qwen-1.5B 架构&#xff0c;利用 80 万条 R1 推理链样本进行知识蒸馏训练得到的轻量级高性能语言模型。该模型以仅 15 亿参数&…

作者头像 李华
网站建设 2026/4/16 9:20:06

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

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

作者头像 李华