https://leetcode.com/problems/magic-squares-in-grid/description/
题目大意:在n*m的格子里找到满足 行列对角线和相等的 3*3矩阵的个数。且只能由1-9组成。
解题思路:暴力
class Solution { private int judge(int x,int y,int [][] g) { int[] a = new int[10]; for(int i=x;i<x+3;i++) { for(int j=y;j<y+3;j++) { //System.out.print(g[i][j]+" "); if(g[i][j]>=10 || g[i][j]<=0) return 0; a[g[i][j]]++; if( a[g[i][j]]>1) return 0; } //System.out.println(); } int sum =-1,tmp=0; for(int i=x;i<x+3;i++) { tmp=0; for(int j=y;j<y+3;j++) { tmp+=g[i][j]; } if(sum==-1) sum=tmp; else if(sum!=tmp) return 0; } for(int j=y;j<y+3;j++) { tmp=0; for(int i=x;i<x+3;i++) { tmp+=g[i][j]; } if(sum!=tmp) return 0; } tmp = g[x][y]+g[x+1][y+1]+g[x+2][y+2]; if(sum!=tmp) return 0; tmp = g[x][y+2]+g[x+1][y+1]+g[x+2][y]; if(sum!=tmp) return 0; return 1; } public int numMagicSquaresInside(int[][] grid) { int n = grid.length; int m = grid[0].length; int res=0; for(int i=0;i+2<n;i++) { for(int j=0;j+2<m;j++) { res+=judge(i,j,grid); } } return res; } }