LOVE BABBAR DSA CRACKER SHEET - MATRIX SOLUTIONS
1. SPIRAL TRAVERSAL OF MATRIX
https://practice.geeksforgeeks.org/problems/spirally-traversing-a-matrix-1587115621/1
METHOD - 1 - GFG PRACTICE SOLUTION
vector<int> spirallyTraverse(vector<vector<int> > matrix, int r, int c)
{
int top = 0, down = r-1, left = 0, right = c-1, i, dir = 0;
vector<int>res;
while(top <= down && left <= right){
if(dir == 0){
for(i = left; i <= right; i++)
res.push_back(matrix[top][i]);
top++;
}
else if(dir == 1){
for(i = top; i <= down; i++)
res.push_back(matrix[i][right]);
right--;
}
else if(dir == 2){
for(i = right; i >= left; i--)
res.push_back(matrix[down][i]);
down--;
}
else if(dir == 3){
for(i = down; i >= top; i--)
res.push_back(matrix[i][left]);
left++;
}
dir = (dir+1)%4;
}
return res;
}
METHOD-2 -
No comments:
Post a Comment