840. 矩阵中的幻方

840. 矩阵中的幻方


题目链接:840. 矩阵中的幻方

代码如下:

cpp 复制代码
class Solution {
public:
	int numMagicSquaresInside(vector<vector<int>>& grid) {
		int m = grid.size(),n = grid[0].size();
		int res = 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]{};
				int 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;
						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) {
					res++;
				}
			}
		}

		return res;
	}
};
相关推荐
知识分享小能手8 小时前
C++ 学习教程,从入门到精通,C++ 入门知识 — 完整知识点(1)
开发语言·c++·学习
qq_199886878 小时前
第8板块·第2节:统一内存的高级特性与性能调优
c++·人工智能·gpu算力·cuda
2401_839080549 小时前
C++常见八股
数据结构·c++·算法
qq_1998868710 小时前
第6板块 第2节 CUDA运行时API与驱动API 核心笔记
c++·人工智能·gpu算力
syagain_zsx10 小时前
算法基础篇 · 03 枚举(C++ 题解)
c++·算法·二进制·枚举
weixin_3077791311 小时前
C++代码实现MATLAB中的ode23tb函数功能
开发语言·c++·算法·matlab
S_WEAN11 小时前
C++STL - string类的模拟实现
c++
S_WEAN12 小时前
【C++】STL - string类
c++
码匠许师傅12 小时前
【C++三方组件】toml++:人性化的配置文件格式
c++