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

力扣1895.最大的幻方

力扣1895.最大的幻方

  • 求前缀和暴力枚举幻方边长

    • 求行列前缀和
  •   class Solution {public:int largestMagicSquare(vector<vector<int>>& grid) {int n = grid.size() , m = grid[0].size();vector<vector<int>> rowsum(n,vector<int>(m));for(int i=0;i<n;i++){rowsum[i][0] = grid[i][0];for(int j=1;j<m;j++)rowsum[i][j] = rowsum[i][j-1] + grid[i][j];}vector<vector<int>> colsum(n,vector<int>(m));for(int j=0;j<m;j++){colsum[0][j] = grid[0][j];for(int i=1;i<n;i++)colsum[i][j] = colsum[i-1][j] + grid[i][j];}//倒序枚举边长for(int edge = min(m,n) ; edge>=2;edge--){for(int i=0;i <= n - edge;i++){for(int j=0;j<=m - edge;j++){//求模板 以第一行的和为例int stdsum = rowsum[i][j + edge - 1] - (j ? rowsum[i][j-1] : 0);bool check = true;for(int ii = i + 1;ii < i + edge; ii ++){if(rowsum[ii][j + edge - 1] - (j ? rowsum[ii][j - 1] : 0 ) != stdsum){check = false;break;}if(!check) continue;for(int jj=j;jj<edge + j;jj++){if(colsum[i + edge - 1][jj] - (i ? colsum[i-1][jj] :0) != stdsum){check = false;break;}}if(!check) continue;int d1 = 0,d2 = 0;for(int k=0;k<edge;k++){d1 += grid[i+k][j+k];d2 += grid[i+k][j+edge-1-k];}if(d1 == stdsum && d2 == stdsum)return edge;}}}}return 1;}};
    

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 51单片机嵌入式开发:3、STC89C52操作8八段式数码管原理
  • NativeMemoryTracking查看java内存信息
  • udp发送数据如果超过1个mtu时,抓包所遇到的问题记录说明
  • 9 redis,memcached,nginx网络组件
  • 单/多线程--协程--异步爬虫
  • 洛谷 P2141 [NOIP2014 普及组] 珠心算测验
  • Harris点云关键点检测
  • 三、docker配置阿里云镜像仓库并配置docker代理
  • 使用瀚高数据库开发管理工具进行数据的备份与恢复---国产瀚高数据库工作笔记008
  • 使用Python绘制堆积柱形图
  • Ubuntu22.04使用/etc/rc.local开机启动程序
  • Stable Diffusion:最全详细图解
  • Leetcode1115 交替打印 FooBar及其测试
  • 这款新的 AI 语音助手击败了 OpenAI,成为 ChatGPT 最受期待的功能之一
  • Java 7新特性深度解析:提升效率与功能
  • “大数据应用场景”之隔壁老王(连载四)
  • Android框架之Volley
  • Docker 笔记(1):介绍、镜像、容器及其基本操作
  • interface和setter,getter
  • js对象的深浅拷贝
  • nodejs:开发并发布一个nodejs包
  • python学习笔记 - ThreadLocal
  • Sequelize 中文文档 v4 - Getting started - 入门
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • 近期前端发展计划
  • 入门级的git使用指北
  • 深入 Nginx 之配置篇
  • 微信小程序:实现悬浮返回和分享按钮
  • 一天一个设计模式之JS实现——适配器模式
  • 异步
  • 与 ConTeXt MkIV 官方文档的接驳
  • 在electron中实现跨域请求,无需更改服务器端设置
  • 怎样选择前端框架
  • Mac 上flink的安装与启动
  • 蚂蚁金服CTO程立:真正的技术革命才刚刚开始
  • # 利刃出鞘_Tomcat 核心原理解析(八)-- Tomcat 集群
  • #C++ 智能指针 std::unique_ptr 、std::shared_ptr 和 std::weak_ptr
  • #pragma data_seg 共享数据区(转)
  • #微信小程序:微信小程序常见的配置传旨
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • ()、[]、{}、(())、[[]]命令替换
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (void) (_x == _y)的作用
  • (安卓)跳转应用市场APP详情页的方式
  • (八)c52学习之旅-中断实验
  • (二)正点原子I.MX6ULL u-boot移植
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (四十一)大数据实战——spark的yarn模式生产环境部署
  • (微服务实战)预付卡平台支付交易系统卡充值业务流程设计
  • (转)iOS字体
  • .ai域名是什么后缀?
  • .NET Core 将实体类转换为 SQL(ORM 映射)
  • .NET 除了用 Task 之外,如何自己写一个可以 await 的对象?