diff --git a/840. Magic Squares In Grid b/840. Magic Squares In Grid new file mode 100644 index 0000000..71a2435 --- /dev/null +++ b/840. Magic Squares In Grid @@ -0,0 +1,43 @@ +class Solution { +private: + bool is9Digits(vector> &grid,int i,int j,int n,int m){ + int sum1=0,sum2=0,sum3=0; + int sum4=0,sum5=0,sum6=0; + + for(int k=0; k<3; k++){ + sum1 += grid[i][j+k]; + sum2 += grid[i+1][j+k]; + sum3 += grid[i+1][j+k]; + + sum4 += grid[i+k][j]; + sum5 += grid[i+k][j+1]; + sum6 += grid[i+k][j+2]; + } + + if(sum1 != sum2 || sum1 != sum3 || sum1 != sum4 + || sum4 != sum5 || sum4 != sum6) return false; + + set st; + for(int ii=i; ii<=i+2; ii++){ + for(int jj=j; jj<=j+2; jj++){ + if(grid[ii][jj] > 9 || grid[ii][jj] < 1) return false; + st.insert(grid[ii][jj]); + } + } + return st.size() == 9; + } +public: + int numMagicSquaresInside(vector>& grid) { + int n = grid.size(),m = grid[0].size(); + int ans = 0; + + for(int i=0; i