We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 600aa72 commit 9bfbd31Copy full SHA for 9bfbd31
C++/sort-the-matrix-diagonally.cpp
@@ -0,0 +1,24 @@
1
+// Time: O(m * n * log(min(m, n))
2
+// Space: O(m * n)
3
+
4
+class Solution {
5
+public:
6
+ vector<vector<int>> diagonalSort(vector<vector<int>>& mat) {
7
+ unordered_map<int, vector<int>> lookup;
8
+ for (int i = 0; i < mat.size(); ++i) {
9
+ for (int j = 0; j < mat[0].size(); ++j) {
10
+ lookup[i - j].emplace_back(mat[i][j]);
11
+ }
12
13
+ for (auto& [k, v] : lookup) {
14
+ sort(v.begin(), v.end());
15
16
+ for (int i = mat.size() - 1; i >= 0; --i) {
17
+ for (int j = mat[0].size() - 1; j >= 0; --j) {
18
+ mat[i][j] = lookup[i - j].back();
19
+ lookup[i - j].pop_back();
20
21
22
+ return mat;
23
24
+};
0 commit comments