From 9f13565595b8da3eaafff16495f68c3c7c7b56c0 Mon Sep 17 00:00:00 2001 From: chayan das Date: Fri, 29 Aug 2025 02:00:23 +0530 Subject: [PATCH] Create 3446. Sort Matrix by Diagonals --- 3446. Sort Matrix by Diagonals | 35 ++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 3446. Sort Matrix by Diagonals 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; + } +};