karthikshetty03

Spiral_Matrix.cpp

May 15th, 2021
464
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. vector<int> spirallyTraverse(vector<vector<int> > matrix, int r, int c)
  2.     {
  3.         //rows
  4.         int n = r;
  5.         //columns
  6.         int m = c;
  7.        
  8.         int p(0), q(0);
  9.         int k(0);
  10.    
  11.         vector<int> ans(N);
  12.    
  13.         while (p < n and q < m) {
  14.             for (int j = q; j < m; j++)
  15.                 ans[k++] = matrix[p][j];
  16.    
  17.             k--;
  18.    
  19.             for (int i = p; i < n; i++)
  20.                 ans[k++] = matrix[i][m - 1];
  21.    
  22.             k--;
  23.    
  24.             for (int j = m - 1; j >= q; j--)
  25.                 ans[k++] = matrix[n - 1][j];
  26.    
  27.             k--;
  28.    
  29.             for (int i = n - 1; i > p; i--)
  30.                 ans[k++] = matrix[i][q];
  31.    
  32.             p++;
  33.             q++;
  34.             n--;
  35.             m--;
  36.         }
  37.    
  38.         ans.resize(matrix.size()*matrix[0].size());
  39.         return ans;
  40.        
  41.     }
RAW Paste Data