Advertisement
nikunjsoni

1292

May 15th, 2021
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.53 KB | None | 0 0
  1. class Solution {
  2. public:
  3.     int maxSideLength(vector<vector<int>>& mat, int threshold) {
  4.         int maxLen = 0;
  5.         #define a(i, j) ((i<0 || j<0) ? 0: mat[i][j])
  6.         int n = mat.size(), m = mat[0].size();
  7.        
  8.         for(int i=0; i<n; i++)
  9.             for(int j=0; j<m; j++){
  10.                 mat[i][j] += a(i-1,j) + a(i,j-1) - a(i-1,j-1);
  11.                 maxLen += ((maxLen <= min(i, j)) && (a(i,j)-a(i-maxLen-1,j)-a(i,j-1-maxLen)+a(i-1-maxLen,j-1-maxLen) <= threshold));
  12.             }
  13.         return maxLen;
  14.     }
  15. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement