news 2026/4/15 15:43:48

leetcode 840

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
leetcode 840

840: 矩阵中的幻方

数学证明:1.幻方正中心一定是 5

2.无需计算第三行、第三列的和

3.无需计算对角线的和

如果 3×3 矩阵:

  • 正中心的数是 5。
  • 包含 1 到 9 所有整数。
  • 前两行的和都是 15。
  • 前两列的和都是 15。

下面证明:矩阵对角线的和一定都是 15。

如何快速判断矩阵包含 1 到 9 所有数?可以把数字压缩到一个二进制数 mask 中,mask 从低到高的 i 位是 1 表示 i 在矩阵中。矩阵包含 1 到 9 所有数相当于 mask=1111111110(2)=2^10−2=1022。

mask |= 1 << x;

mask == (1 << 10) - 2

二进制:把1左移10位——10000000000(十进制 1024)

1024-2=1022=1111111110(2),表示 mask 的第 1 位到第 9 位全部为 1,第 0 位为 0。

int r_sum[3]{},c_sum[3]{};

等价于:

int r_sum[3] = {0, 0, 0}; int c_sum[3] = {0, 0, 0};
class Solution { public: int numMagicSquaresInside(vector<vector<int>>& grid) { int m=grid.size(),n=grid[0].size(); int ans=0; for(int i=0;i<m-2;i++){ for(int j=0;j<n-2;j++){ //遍历左上角 if(grid[i+1][j+1]!=5) continue; int mask=0; int r_sum[3]{},c_sum[3]{}; for(int r=0;r<3;r++){ for(int c=0;c<3;c++){ int x=grid[i+r][j+c]; mask|=1<<x; //把mask的第x位设为1 r_sum[r]+=x; c_sum[c]+=x; } } if(mask==(1<<10)-2 && r_sum[0]==15 && r_sum[1]==15 && c_sum[0]==15 && c_sum[1]==15){ ans++; } } } return ans; } };
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 7:36:40

Vue-Table数据表格组件的终极使用指南

Vue-Table数据表格组件的终极使用指南 【免费下载链接】vue-table data table simplify! -- vuetable is a Vue.js component that will automatically request (JSON) data from the server and display them nicely in html table with swappable/extensible pagination comp…

作者头像 李华
网站建设 2026/4/13 12:01:46

Emgu CV实战指南:7个应用场景快速掌握.NET图像处理

Emgu CV实战指南&#xff1a;7个应用场景快速掌握.NET图像处理 【免费下载链接】emgucv Emgu CV is a cross platform .Net wrapper to the OpenCV image processing library. 项目地址: https://gitcode.com/gh_mirrors/em/emgucv 想要在C#项目中轻松实现专业的图像处理…

作者头像 李华
网站建设 2026/4/11 16:10:53

酷安Lite客户端性能实测对比:UWP方案真的能替代安卓模拟器吗?

酷安Lite客户端性能实测对比&#xff1a;UWP方案真的能替代安卓模拟器吗&#xff1f; 【免费下载链接】Coolapk-Lite 一个基于 UWP 平台的第三方酷安客户端精简版 项目地址: https://gitcode.com/gh_mirrors/co/Coolapk-Lite 在Windows系统上访问酷安社区&#xff0c;你…

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

PyTorch DataLoader多线程加载数据|Miniconda环境性能调优

PyTorch DataLoader 多线程加载数据&#xff5c;Miniconda 环境性能调优 在现代深度学习项目中&#xff0c;你是否曾遇到过这样的场景&#xff1a;GPU 利用率长期徘徊在 20% 以下&#xff0c;训练进度缓慢如蜗牛爬行&#xff1f;而当你打开 nvidia-smi 查看时&#xff0c;却发现…

作者头像 李华
网站建设 2026/4/6 12:11:55

深度学习课程AO数学助教开题报告

福建师范大学本科毕业论文(设计)开题报告学院&#xff1a;             专业&#xff1a;         课题名称深度学习课程AO数学助教姓名学号指导教师职称学历开展本课题的意义及工作内容&#xff1a;&#xff08;1&#xff09;研究意义深度学习课程AO数学…

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

WinDiskWriter:macOS平台Windows启动盘制作终极指南

WinDiskWriter&#xff1a;macOS平台Windows启动盘制作终极指南 【免费下载链接】windiskwriter &#x1f5a5; A macOS app that creates bootable USB drives for Windows. &#x1f6e0; Patches Windows 11 to bypass TPM and Secure Boot requirements. 项目地址: https…

作者头像 李华