Diagonal Traverse II LeetCode solution in C++

1
class Solution {
2
public:
3
vector<int> findDiagonalOrder(vector<vector<int>> &nums) {
4
int n = nums.size();
5
int m = 0;
6
for (vector<int> &v : nums) {
7
int y = v.size();
8
m = max(m, y);
9
}
10
vector<int> D2[n + m - 1];
11
for (int i = 0; i < n; i++) {
12
for (int j = 0; j < nums[i].size(); j++) {
13
D2[i + j].push_back(nums[i][j]);
14
}
15
}
16
vector<int> ans;
17
for (int i = 0; i < n + m - 1; i++) {
18
int x = D2[i].size();
19
while (x--) {
20
ans.push_back(D2[i][x]);
21
D2[i].pop_back();
22
}
23
}
24
return ans;
25
}
26
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0