diff --git a/3446. Sort Matrix by Diagonals b/3446. Sort Matrix by Diagonals new file mode 100644 index 0000000..57e0fa4 --- /dev/null +++ b/3446. Sort Matrix by Diagonals @@ -0,0 +1,35 @@ +class Solution { +public: + + void solve(int i, int j, vector>&grid, vector&ds){ + if(i==grid.size() || j==grid[0].size()) return; + int val=grid[i][j]; + ds.push_back(val); + solve(i+1,j+1,grid,ds); + return; + } + void agn(int i, int j, vector>&grid, vector&ds){ + if(i==grid.size() || j==grid[0].size() || ds.empty()) return; + int val=ds.back(); + ds.pop_back(); + grid[i][j]=val; + agn(i+1,j+1,grid,ds); + return; + } + vector> sortMatrix(vector>& grid) { + int n=grid.size(), m=grid[0].size(); + for(int i=1;ids; + solve(0,i,grid,ds); + sort(ds.rbegin(),ds.rend()); + agn(0,i,grid,ds); + } + for(int i=0;ids; + solve(i,0,grid,ds); + sort(ds.begin(),ds.end()); + agn(i,0,grid,ds); + } + return grid; + } +};