leetcode 840. Magic Squares In Grid 矩阵中的幻方-耗时100%
2026/6/26 0:36:06 网站建设 项目流程

Problem: 840. Magic Squares In Grid 矩阵中的幻方

解题过程

耗时100%,对正方形左上角的坐标遍历的,然后判断是否满足条件即可累加计数

Code

class Solution { public: int numMagicSquaresInside(vector<vector<int>>& grid) { int m = grid.size(), n = grid[0].size(); if( min(m, n) < 3 ) return 0; int sum = 0, s; for(int i = 0; i <= m - 3; i++) { for(int j = 0; j <= n - 3; j++) { vector<int> tr = { grid[i][j] , grid[i][j+1] , grid[i][j+2], grid[i+1][j] , grid[i+1][j+1] , grid[i+1][j+2], grid[i+2][j] , grid[i+2][j+1] , grid[i+2][j+2] }; sort(tr.begin(), tr.end()); s = grid[i][j] + grid[i][j+1] + grid[i][j+2]; if(tr[0]==1 && tr[1]==2 && tr[2]==3 && tr[3]==4 && tr[4]==5 && tr[5]==6 && tr[6]==7 && tr[7]==8 && tr[8]==9 && s == grid[i+1][j] + grid[i+1][j+1] + grid[i+1][j+2] && s == grid[i+2][j] + grid[i+2][j+1] + grid[i+2][j+2] && s == grid[i][j] + grid[i+1][j] + grid[i+2][j] && s == grid[i][j+1] + grid[i+1][j+1] + grid[i+2][j+1] && s == grid[i][j+2] + grid[i+1][j+2] + grid[i+2][j+2] && s == grid[i][j] + grid[i+1][j+1] + grid[i+2][j+2] && s == grid[i][j+2] + grid[i+1][j+1] + grid[i+2][j] ) { sum ++; } } } return sum; } };

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询