Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define N 1e5
- vector<int> spirallyTraverse(vector<vector<int> > matrix, int r, int c)
- {
- //rows
- int n = r;
- //columns
- int m = c;
- int p(0), q(0);
- int k(0);
- vector<int> ans(N);
- while (p < n and q < m) {
- for (int j = q; j < m; j++)
- ans[k++] = matrix[p][j];
- k--;
- for (int i = p; i < n; i++)
- ans[k++] = matrix[i][m - 1];
- k--;
- for (int j = m - 1; j >= q; j--)
- ans[k++] = matrix[n - 1][j];
- k--;
- for (int i = n - 1; i > p; i--)
- ans[k++] = matrix[i][q];
- p++;
- q++;
- n--;
- m--;
- }
- ans.resize(matrix.size()*matrix[0].size());
- return ans;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement